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
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
Merge pull request #1521 from hswolff/ghost-as-a-module

Ghost as a module, fixes #1326
Add Customisable Permalinks