Let all validators support custom messages.
Always using util.format, and avoiding booleans for control flow.
Merge pull request #69 from caolan/pull_request_66

Pull request 66