Use Uri to manage paths internally.
Merge pull request #50 from square/jw/uri

Use Uri to manage paths internally.