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.
the whitespace for these four vars things is super weird