Optimize the code for encoding a value.
Optimize the code for encoding a value.

Instead of always allocating a StringBuilder and generating a new string, do a first pass to see if the string even needs to be encoded.
If we don't find any characters ourside of the allowed set, simply return the input string without a new allocation.

AlexGhiondea/OAuth.net,AlexGhiondea/OAuth.net