Create new, pure js validator that is faster

On example data I downloaded, Joi runs in 2484 milliseconds.  Joy runs in 38 milliseconds and I believe it is verifying the same stuff.

@jebeck @nicolashery Give this a once over and make sure you believe it's verifying the same stuff as well.

I veered off from the Joi API in a couple places.  The biggest is that I assumed that things are generally required and if they are optional, that should be pointed out.  Joi does it the other way and forces you to specify what is required.
All of the patterns were either taken from Joi directly or taken from the regex code you had written in the Joi specs.  I'm going to leave them as is, as they are just replicating what existed before and my goal was to replicate that.