* rebase editorial workflow pull requests when behind
* fix async/await transpilation
* add media library pagination
* switch media library to grid layout
* ensure that only cms branches can be force updated
markdown is currently serialized to html at load time,
which makes it near impossible to support arbitrary html
in the markdown. This also means we're stringifying to
html on every change.
This commit moves to Remark's MDAST for local serialization,
including parsing from MDAST to Slates's Raw AST. It brings
much more control over the editing experience and full
support for processing unescaped HTML.
The removed `dispatch(closeEntry)` is handled in the code that's been
erroring out (located in `containers/EntryPage.js`). User-visible
functionality is identical.
* Field config options: 'required' and 'pattern'
* Widget controls can implement it's own isValid
* Validation errors store in redux & displayed
* Support for returned Promises in isValid
* Allow widget controls to return either a boolean, an error object or a promise from isValid
* Merge conflicts automatically. Closes#208
* removed unpublished entry route
All entries (either under editorial workflow or not) go through the same edit route.