Set and check a class boolean variable to prevent loops in PRE_SAVE &
POST_SAVE dispatchers
$app['storage']->saveContent() always returns the ID of the content
saved
$this->app['db']->insert() and $this->app['db']->update() only return
row numbers or generate \Error's
Code comment
Logically redorder and comment
Better handling new vs. existing records
Handle Bolt 2 content creation based redirects properly
Add an else{} and TODO comment that we hit when saved by and AJAX POST
Correct comment
Pass 'new' as the ?returnto= parameter in editcontent
Handle AJAX saves with specificity
More concise handling of save states
Add a marker comment
Merge pull request #1680 from GawainLynch/hotfix/storage-event-handling

Prevent loops in Bolt\Storage PRE_SAVE & POST_SAVE dispatchers
Flush output buffers and return JSON to the AJAX caller
Revert "$this->app['db']->insert() and $this->app['db']->update() only return"

This reverts commit 02ecc4c09bbb17e0e84303361db45a177d52fd7c.
Check for ob_get_length()) before calling ob_end_clean()
Update UI content after POST_SAVE hooks (from AJAX response) that occur
during record editing in-place.

Dependant on #1684
Merge pull request #1686 from GawainLynch/feature/editcontent-postsave-ajax

Update UI content after POST_SAVE hooks (from AJAX response) that occur during record editing in-place.
Merge pull request #1685 from rossriley/composer-install-imporovements

Composer install verification