Rewrote UrlEncodeStrict

It didn't handle % characters in the original string (unless they were
followed by a not Unreserved Character).
Added some unit tests as requested
Fixed PercentEncode StringExtension

This was also doing some special handling for \b\r\n and ignored the
issue with hex characters 00..0F (was encoding (some of) them as single
character strings %0 for example).
Merge pull request #597 from chris-grabcad/master

Rewrote UrlEncodeStrict