Stringify add/update/edit parameters automatically. Add tests.

Allow you to pass a JSON object to `add`, `update` and `edit`, automatically converting to the requisite stringified version for passing to the ArcGIS Server or ArcGIS Online endpoint. Previously you had to stringily this yourself.

Fix the `edit` implementation to call
```this.issueRequest('applyEdits', parameters, callback, 'post');```
instead of
```issueRequest('applyEdits', parameters, callback, 'post');```

Add tests for `add`, `update`, `edit` and `delete`.

Improve code that handles failing to `JSON.parse()` the call's response.