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