Adds encodeURI and decodeURI

Notes: This PR doesn't account for surrogate pairs. 
Can eliminate the temporary variables to clean it up a little
```.lua
return string.gsub(str, '%%(%x%x)', 
     function(c) return string.char(tonumber(hex, 16)) end
)
```