Fix grunt commands to work with spaces in path

closes #3206

- We were escaping paths for the bower commands, but this didn't work on
  windows
- Use the same pattern for the coverage command
Add open class to popover buttons

Ref#3603
- Popover Buttons now have an `open` class applied to them when their popover is open
- The open class is removed from the popover button at the start of the popover's fadeout
- Consolidated common code into popover-mixin
Editor: Warn if title change is unsaved

closes #3643
- TitleScratch is compared with Title; if there’s a difference, we have
unsaved changes and open up the modal.
Do not loop keyboard nav on content list.
Activate specific tab that is tapped/clicked.
Merge pull request #3650 from felixrieseberg/iss3643-2

Editor: Warn if title change is unsaved
Merge pull request #3628 from novaugust/popover-btn-binding#3603

Add open class to popover buttons
Merge pull request #3655 from rwjblue/dont-loop-keyboard-nav

Do not loop keyboard nav on content list.
Merge pull request #3656 from rwjblue/activate-specific-tab-not-toggle

Activate specific tab that is tapped/clicked.
Reset email form value on success

closes #3663
- Set value of email input as nil string
Adding overzealous jquery removal

fixes #3676

- this was removed as part of my attempt to clean up the release but is needed for dev mode
Improve error handling for authentication

closes #3660
- added wrapping in JSON API format to error500()
- added client side handling
Merge pull request #3683 from ErisDS/issue-3676

Adding overzealous jquery removal
Merge pull request #3653 from ErisDS/grunt-spaces

Fix grunt commands to work with spaces in path
Imporve handling of SQLITE_READONLY

closes #3659
- added alternate context/help for SQLITE_READONY error to
errors.logError()
Fix Ghost icon is not clickable

closes #3623
- Initialization of the link was done on login page where the ‚burger‘
did not exist.
- initialization in application needs to be done to make it work on
refresh
Disable user validation and errors on login

fixes #3658

- Catch any errors from user.save() events during login
- Prevent validation from happening at all when only updating status/last_login
- Fixes a problem I introduced with errors which are arrays in logError
Merge pull request #3688 from ErisDS/issue-3658

Catch user validation errors on login
Don't require protocol for website

fixes #3657

- we didn't require this previously, and adding it causes issues
Merge pull request #3690 from sebgie/issue#3659

Improve handling of SQLITE_READONLY