Fix sign up not setting user on session

No issue found

- Grab user out of api response from users[0]
Merge pull request #2766 from jgable/fixRegister

Fix sign up not setting user on session
Cleanup API index.js, and add docs

refs #2610
Refactoring API arguments

closes #2610, refs #2697

- destroy expects an object, rather than an id all the way down to the model layer
- all API methods take consistent arguments
- route params such as :id, :slug, and :key are passed as an option & used to perform reads, updates and deletes
- browse, read, destroy take options, edit and add take object and options
- HTTP posts api can find a post by slug
- Add API utils for checkData
Change API to take context as part of options

issue #2610, issue #2697

- get rid of the .call on API methods, instead passing context as part of options