#111: Custom URIValidator allows non-dotted hostnames and custom schemes...

Fixes my problems reported in #111.

Validation is taken from Django URLValidator in 1.6.2 and http://stackoverflow.com/a/2532344 .