Support for Draft v4 multipleOf, not, allOf, anyOf, and oneOf keywords.

Similar to Draft v3 `divisibleBy`, the Draft v4 `multipleOf` keyword basically does the same thing. It validates that the division of a numeric instance by the value of `multipleOf` is an integer. Implemented the functionality and enabled the Draft v4 unit tests.

Also implemented the Draft v4 `not` keyword. With `not`, an instance validates if it does not match the specified schema. Enabled the Draft v4 `not` tests and also wrote supplemental unit tests.

Implemented the Draft v4 `allOf`, `anyOf`, and `oneOf` keywords as well. These verify that an instance validates either all, at least one, or exactly one of the specified schemas. Enabled the Draft v4 unit tests for each of these new keywords.