Make DB Import backwards compatible

closes #2716
- Continues to parse and allow import with the old format
- Detects the presence of the new JSON-API format and allows import
Add distinct error classes

closes #2690
- added new error classes
- moved errorhandling.js to /errors/index.js
- changed API errors to use new classes
- updated tests
Merge pull request #2704 from sebgie/issue#2690

Add distinct error classes
Merge pull request #2719 from appleYaks/import-backward-compatible

Make DB Import backwards compatible
Add try-catch to startup

- Should prevent Ghost from exiting without an error message
Adjust test to handle timing issue on upload modal

ref #1702
-change the tests for the cover and logo image upload modal to
 handle a timing issue in the way they are rendered
Merge pull request #2729 from jaswilli/test-errors

Adjust test to handle timing issue on upload modal
Another adjustment to handle timing issue on tests

ref #1702
-timing issue with the test still exists in #2729 since
 .description is added to the dom after the fact via js
Merge pull request #2730 from jaswilli/test-errors

Another adjustment to handle timing issue on tests
Fix intermittent image upload modal failures

ref #1702
-wait for logo upload modal to go away before beginning test
 for cover upload modal
Merge pull request #2733 from jaswilli/test-error

Fix intermittent image upload modal failures
updateTags refactor

closes #2720
-refactor Models.Posts.updateTags method to reduce complexity
Ensure settings values are strings before saving

closes #2736
-reintroduces JSON.stringify for non-string values in
 api.settings.edit
-added a regression test
Merge pull request #2726 from jaswilli/issue-2720-tags

updateTags refactor
Merge pull request #2737 from jaswilli/issue-2736-pg

Ensure settings values are strings before saving