* Fix issues identified with the Hapi 17 update
This commit introduces a variety of changes, primarily fixes, but it
also collapses the typings into a single file. Collapsing it into a
single file means simpler augmentation of types, which is common in
Hapi.
Thank you to SimonSchick for contributing a number of changes here.
* fix response property
* [Hapi] Fix input and response validation function signatures
Fixes#16750
* [Hapi] Allow custom validation options in route input and response
* [Hapi] Adjust validation contexts to match Hapi version 16.1.1
* [Hapi] Adjust test/route/validate.ts to match newest changes
* [Hapi] Add custom options to response validation test
* [Hapi] Update TypeScript version to 2.3 in packages that import Hapi
* [Hapi] Clarify documentation on validation function value, allow null
* Put in backwards incompatibility warning and a note regarding not needing to
use Nes.Server or Nes.Request
* Move SocketClass to interface as it is not mentioned in docs as a public
class for instantiating
* Potential regression due to not supporting require('nes/client')
however no working tests to test this against yet. Added a blank
test in nes/test/client-require.ts