Promisify validate

Made `.validate()` promise-happy. Backwards compatible, still works with callback.

![](http://i.imgur.com/NEA0wAY.jpg)

Builds fails as master branch currently fails, but no additional test were harmed in the making of this PR.