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
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
Merge pull request #1533 from jgillich/permalinks

Add Customisable Permalinks
Install in sub-directory support.

refs #527