Merge pull request #11 from thinkthroughmath/uri_encode_params

URI encode query params when constructing the query string
Merge pull request #10 from thinkthroughmath/fix_error_handling_bugs

Fix error handling bugs
Merge pull request #9 from thinkthroughmath/previous_attributes

Expose event.previous_attributes
Handle InvalidRequestError responses that don't contain a param

Before this change, the test fails with TypeError instead because the error handling code is trying to index into a string because it expects a hash.