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
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