Pre-publication validations

This adds pre-publication validations and specifically a property that can be used by both authoring and webview to stop and/or disable publication. This boolean property is ``is_publishable`` in authoring and is sent to webview as ``isPublishable``.

One thing to look at is my implementation of ``is_publishable`` on binders. I may have gone a little overboard. The value on binders will cascade, meaning that if any document is not publishable, the binder will be marked as not publishable. We may want to add an additional property is-publishable propety to binders that takes the binder and contents into effect while leaving the ``is_publishable`` as a base-content behavior.

See also the [trello card](https://trello.com/c/nxo0aMkb).