Refactor validator helper

1. Passes the request and reply objects to the callbacks to allow for handling
without having to spawn per-request closure instances.
2. Remove the RegExp
construction in favor of passing the literal in via the options hash. This is
more performant and helps the users avoid surprises when presumed literals are
parsed as regular expressions.
Please make any stylistic modifications that you wish. The PRs are to review the API changes primarily.