Support Binary as Buffer (try 2)

This is another try at adding in the binary as a buffer as well as a string. All I did here was merge the current master into my old branch, and resolve any conflicts. It all seems to still work fine, though. I don't really like the way I had to implement this new type within Joi, but it doesn't seem that Joi has any facilities to add types.