Correct required parameter validation

Closes #40

* If the request param is empty, return validity based on whether it was required
* Correctly check whether a value is an integer
* Correctly check whether a value is a number
* Ensure both integer and number validation fails on infinite values
* Fix tests
* * Add required flags where expected
* * Use synchronous test syntax when appropriate
* * Add tests for expected validation of integers and numbers