update encoding to adhere to rfc3986 (from MDN)

LTI Provider signer's encode function did not match the spec. Should use rfc3986.

Regex grabbed from
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent