Merge pull request #3210 from novaugust/remove-minor-notifications

Remove minor notifications; Close persistent notifications even on error
Merge pull request #3259 from novaugust/settings-mobile-routing

Refactor Settings routing and mobile interactions
Merge pull request #3278 from jaswilli/prod-prep

Move inline templates to standalone template file
Merge pull request #3270 from ErisDS/migrations

Migration improvements
Unhide settings on mobile and adjust positioning for left setting header buttons

Refs #67
Replace anchors with no real href with buttons

Closes #3101 & #916
Merge pull request #3276 from sebgie/issue#3252

Move image upload to API
Merge pull request #3277 from PaulAdamDavis/link-href-fixes

Replace anchors with no real href with buttons
Restored spam prevention

closes #3128
- added spam prevention middleware
- restored tests
Refactor custom select styling

This is for both the global styling and the alternate version in the PSM for the author dropdown.

- `<select>` elements are note more accessible, with :focus support
- They no longer need a data-attr to show the currently selected item

NOTE: Does not work in Firefox. Yet.
Prevent loading setup screen if already setup

Closes #3145
- Prevent navigation to the setup screen if Ghost setup
  has previously been completed.
- Fix templates that were incorrectly using foreach instead of each.
- Add validation for minimum password length.
- Fix up functional tests and split out tests for setup to a separate
  instance of casper because setup requires a new database.
- Add a cleanDatabase task to grunt which resets the database to
  new.
Handle undefined datetime values

Closes #3288
- Check for undefined last_login and created_at values that occur
  on a User model for an invited user.
Hacky FORCE_MIGRATION env var

refs #2600

One day in the future it would be nice to have a CLI for Ghost
In the meantime, lets have an easy way to force migrations to run
This is for development, or dead end situations only
It will at least do a DB backup ;)
Merge pull request #3280 from jaswilli/issue-3145

Prevent loading setup screen if already setup
Merge pull request #3282 from sebgie/issue#3128

Restore spam prevention
Merge pull request #3298 from jaswilli/issue-3288

Handle undefined datetime values
Merge pull request #3296 from ErisDS/force-migrate

Hacky FORCE_MIGRATION env var
Firefox fixes for new select style
Correct positioning of editor floating header elements

Closes #70
Minor setup screen design tweaks