Allow url or domain name for key_server parameter

As some places dont have port 11371 open, they are required to use URL as
key_server instead of domain name therefore adding the capability to use URL or
domain name as key_server parameter
Adding dash to key_server validate regex

Dashes should be allow when defining domain or url for key_server. Rspec
test cases are included to make sure no malform domain name or url are
used.
Merge pull request #304 from innyso/allow_url_for_key_server

Allow url for key server
MODULES-780 Don't blow up on unicode characters.

Gotta love the difference between Ruby 1.8.7 not caring and every
subsequent version exploding.