Change method used to encode formData

Ran into issues with the authenticity_token being passed incorrectly to my server. The + sign was not being encoded properly before being sent, and was being received as a space character by my server.
Fixes #44

> encodeURI replaces all characters except the following with the appropriate UTF-8 escape sequences:
```
Type	Includes
Reserved characters	; , / ? : @ & = + $
nescaped characters	alphabetic, decimal digits, - _ . ! ~ * ' ( )
Score	#
```
> Note that encodeURI by itself cannot form proper HTTP GET and POST requests, such as for XMLHTTPRequests, because "&", "+", and "=" are not encoded, which are treated as special characters in GET and POST requests. encodeURIComponent, however, does encode these characters.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI

Changed it to use the [encodeURIComponent](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent) instead.

```javascript
encodeURI('+')
=> "+"
encodeURIComponent('+')
=> "%2B"
```

I also tested this out in my project and the authenticity_token is now correctly being passed.
![things-that-never-happen-in-real-life-11](https://cloud.githubusercontent.com/assets/408219/5318133/72302a6a-7c6b-11e4-820e-688e0d64c37b.gif)