Fix parameter handling and improve Users Controller tests

- [X] Fix bug where JSON and/or POST params were not being used by `prepare_item_for_database`.  Now checking for JSON params, with POST params fallback.
- [X] Set POST method in current create and update user tests.
- [X] Add test coverage for create and updating of users with JSON requests.  
- [X] Add unit tests to check for edit context in create and update user responses.  Related #664

Why did we need this, rather than continuing to use `$request['...']` instead?