hostname and fqdn validations

Oh, and you should limit the maximum length of the label (kudos to @jiuka) so this passes:
``` ruby
it_behaves_like 'an invalid value', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.org'
```