Added better support for `Joi`

- Added support new support for `Joi` validation.
- Changed the default linter to `eslint`.
- Added new linting rules.
- Fixed linting warnings/errors.
- Changed assertion library from `should` to `chai`
- Using the new `node_error_factory`
- Fixed the npm script: lint

Bumped versions:

- `input-validator`: 0.4.0
- Dependency `error_factory`: 0.3.0
Merge pull request #9 from Springworks/feature/joi-validation

Feature/joi validation