Removes config.theme and restructures how theme variables are cached

resolves #1789

- removes config/theme.js
- moves caching of theme variables to api/settings.js which is where the
rest of the settings cache occurs.  this removes the requirement of having
to push changes to cache, now it simply occurs alongside when settings
are changed.
- updates relevant tests.
Emberify Posts mobile transitions

Closes #3950

- Fixed up event attachment and removal in a few mixins
- Renamed content-list-content-view to something more understandable
- simplify transition from posts.index to posts.post
Change class for editor PSM closing transparent div

No issue

- Changes the class used by the transparent div used to close the PSM

Without this change, when in the editor and the nav is open, the transparent div here is above the div the nav is looking for. So, the div for the PSM is clicked, rather than the nav div.
update CodeMirror
Merge pull request #3999 from novaugust/emberify-posts-c-and-v

Emberify Posts mobile transitions
Merge pull request #4014 from PaulAdamDavis/fix-mobile-nav-click

Change class for editor PSM closing transparent div
Moves storage module to use prototypes for inheritance and structure.

addresses #2852

- Moves storage modules to use prototypes and to create prototypes
that inherit from the base storage ctor.

- Makes storage/base conform to an all Promise interface.
Fix ::selection bug

No issue

Fixes a weird issue where text would overlap other text.
adding config flags to control all items mentioned in PRIVACY.md

closes #3241
- in config.js, the `privacy` attribute holds all privacy-related flags
- `privacy.userTinfoil: true` disables everything (equivalent to setting all flags to false)
- added helper function to core/server/config/index.js to checking privacy flags
- added helper function to core/server/config/index.js to show warning about deprecated items
Merge pull request #3874 from morficus/issue-3241

adding config flags to control all items mentioned in PRIVACY.md
Fix URL replacement in RSS feed mucking with content

closes #3983
- removed naive regex implementation
- added cheerio to project dependencies
- used cheerio to parse RSS content
- use attribute getter/setter to replace href/src attribute urls with the resolved version
Merge pull request #4022 from kminiatures/master

update CodeMirror 4.5.0
Merge pull request #3948 from hswolff/refactor-storage-module

Moves storage module to use prototypes for inheritance and structure.
Merge pull request #4029 from PaulAdamDavis/fix-text-selection-bug

Fix ::selection bug
Static nanoscroller integration

References #1892

A static integration of https://github.com/jamesflorentino/nanoScrollerJS  

This is WIP with the goal of getting feedback on and deciding how we should integrate this into Ghost.
Fix editor scroll depending on cursor location

Closes #4027
Properly align word-count

no ref
- Re-adds word-count styles
Fix Markdown help modal table positioning

no ref
- Fix top spacing of markdown table
- Fix width of table and left align table head
- Fix grammar, whitespace in getting-started post
Merge pull request #4035 from halfdan/word-count

Properly align word-count
Merge pull request #4034 from novaugust/iss4027

Fix editor scroll depending on cursor location