Adds support for "localhost" hostname

Modifies the package implementation of Host to allow for "special" hostnames.

As a developer, I do still use "localhost" from time to time, and occasionally use it in my code for testing purposes. Today, running some testing, the URL "http://localhost:8080/path" got an exception from this package.

So, the first "special" hostname (maybe it'll be the only one we will ever need) I recommend is "localhost", because it is a standard development hostname.

Initially, I tried to make the package work nicely with one part hostnames in general, but that was not working out because we already had the following test, and I didn't want to break BC:

```php
    /**
     * @expectedException RuntimeException
     */
    public function testCreateFromUrlBadName2()
    {
        Url::createFromUrl('sdfsdfqsdfsdf');
    }
```

The URL specs don't say anything about this being illegal. Well, they do, in the sense that you need a scheme; but if "google.com" is legal to use with this method, then "localhost" should be too.