Merge pull request #5 from hpence/develop

Fixed a bug in BuildDestinationUri; it was dropping some encoded uri segments
Polished BuildDestinationUri_Builds_Correct_Destination_Uri_MidSlashes
Implemented BuildDestinationUri_Builds_Correct_Destination_Uri_Query
Split invalid uri error message to make it more granular.
Unit tests now cover error case when uri does not  have enough segments to parse.