Return leading image for {{content words="0"}}

Closes #3884
- This PR includes a reimplementation of Downsize@0.0.5 with `words: "0"`. It uses the same parsing methods, therefore guarunteeing identical behavior.
- Tests have been updated to be more extensive.
First pass refactor of GUI readme redux
Fix notification styles

No issue

I'm not sure why, but @extend's here using placeholder selectors, not classes, work.

This fixes the notification and modal styles, which meant changing how the default button selector works. It is now a placeholder, and a real class extends that. The modal styles extended the default button style, which can now happen.
Implements new Configuration API

closes #3619
- adds new permissions for configuration API
- adds integration tests
- adds configuration API for reading allowed values
Merge pull request #3905 from PaulAdamDavis/fix-extends

Fix notification styles
Restrict uncapitalise middleware for API

no ref
- Do not lowercase anything after /api/v0.1/<resource>/ to protect :key/:slug
Merge pull request #3898 from halfdan/fix-uncap-api

Restrict uncapitalise middleware for API
Merge pull request #3841 from halfdan/3619-configuration-api

Implements new Configuration API
Fix regex from #3898

refs #3898
Merge pull request #3906 from halfdan/patch-1

Fix regex from #3898
Merge pull request #3903 from JohnONolan/gui-readme

First pass refactor of GUI readme redux
Merge pull request #3888 from felixrieseberg/iss3884-content

Return leading image for {{content words="0"}}
Replaces sendmail with direct

Closes #1538
* rips out sendmail
* adds direct
* updates nodemailer to 0.7.1
* changes unit tests for mail