Stricter Hostname Validator

Add a new `isAllowedFQDNOrIP` validator which performs additional validation on inputs that are determined to be hostnames:

1. Forbids use of "bare" TLDs (ie, 'com')
2. Forbids use of [RFC 2606](http://tools.ietf.org/html/rfc2606) reserved top and second level domain names
3. Allows the user to specify an additional domain blacklsit