Add transactions for import

closes #837
- added transaction handling for import
- added transactions to model functions
- added simple tests for failing imports
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
Merge pull request #1534 from jgable/passwordReset

Improved Password Reset Tool
Temporary fix for config loader

issue #1521

- Reverting some of the refactor towards including Ghost as a module as it prevented Ghost from loading when no config was available.
Merge pull request #1549 from ErisDS/config-loader-fix

Temporary fix for config loader
fix tag input field

closes #1532
- giving higher priority to css selector for .tag-input in order to override global input-style
- remove padding set by global input-style to align nicely with already set tags
Merge pull request #1533 from jgillich/permalinks

Add Customisable Permalinks
Merge pull request #1550 from bastilian/fix_1532

Fix tag input field
Update base.js

No longer need `|| 'development'`, since it is defaulted in the top index.   If we did need `|| 'development'` here, we'd need it on the next line too, otherwise it breaks.
Merge pull request #1551 from danschumann/patch-1

Update base.js