Merge pull request #19 from glynos/master

Fixed #17 by ensuring that pimpl_ is allocated using new (std::nothrow).
The URI parser now correctly handles an empty port (e.g. http://www.example.com:/).