Pass proxy Ghost interface to Apps

Closes #1478

- Create new proxy.js that exposes createProxy method
- Pass proxy to App activate/install in lieu of Ghost instance
Add schema.js

closes #1398
closes #1399
closes #1400
- added schema.js with database version '000'
- refactored migration to use schema.js
- if new table is added to schema.js and databaseVersion is increased, table will be added
- if new table is deleted to schema.js and databaseVersion is increased, table will be deleted
- alter table from issue #1400 is delayed until knex supports column modification
- changed import pre checks to work again (will be refactored separately)
- added basic PostgreSQL support (Attention: not supported/tested)
- changed error handling in server.js
Merge pull request #1449 from sebgie/issue#1398

Add schema.js
Reduce size of ghost.js by moving related Routing code to their own files
Move server middleware configuration to related file
Set RSS link title to blog title
Add transactions for import

closes #837
- added transaction handling for import
- added transactions to model functions
- added simple tests for failing imports
Allow newline when quotes are used at start of a sentence

closes #974
Merge pull request #1482 from jgable/appProxy

Pass proxy Ghost interface to Apps
Merge pull request #1444 from hswolff/ghostjs-cleanup

Reduce size of server.js, moving code to their related files
Merge pull request #1531 from jamesbloomer/issue-974

Allow newline when quotes are used at start of a sentence
Merge pull request #1524 from jgillich/rss

Set RSS link title to blog title
Added has_tag helper to coreHelpers, added has_tag unit tests. passing OK
Remove unneccessary type conversion
Improved Password Reset Tool

Closes #1471

- add api and User model methods for generating and validating tokens
- add routes and handlers for reset password pages
- add client styles and views for reset password form
- some basic integration tests for User model methods
Bugfix handle model and collection separately

issue #1533

- replaces templateModel which was a weird hybrid with progressModel and progressCollection
Merge pull request #1540 from jgillich/fix

Remove unneccessary type conversion
Merge pull request #1544 from ErisDS/client-model-fix

Bugfix handle model and collection separately
Merge pull request #1415 from sebgie/import-transaction

Add transactions for import
Make it possible to require ghost as a module. fixes #1326