Improved uri parsing

@ngallagher87 and @bruce-alderson 

This makes the presto request `referer` and `uri` members into objects with fully parsed representations of their source URLs.

Let me know if the approach is alright. I'll have to fix anywhere in the code that references these, but I don't think it's many spots.