Splits editor/base.js in base.js and include.js

Projects have to include both files in their editor.js

This makes it possible to include any new PageTypes before
the EditorApi is instantiated.

Example:

//= require i18n
//= require i18n/translations
//= require pageflow/editor/base <- everything to register pageTypes
//= require pageflow/external_links/page_type
//= require pageflow/editor/include  <- instantiates pageflow.editor
//= require pageflow/external_links/editor
Editor API: adds api for file selection.

Editor extensions can register handlers to re-use the file-selection
view to get files to use in custom models/new page types.

The files view can be invoked via API(pageflow.editor.selectFile).
Register models in engines to be associated with an entry/revision.

Authors of extensions/new page types can use this API to
register active records models to be associated with entries.
Editor API: Adds an API for the access to the failure UI and retry-functionality.

Extensions of the editor can use pageflow.editor.failures.watch to observe
collections and display errors in the UI on the top of the editor.

Additionally its possible to subclass pageflow.Failure and use
pageflow.editor.failures.add to have them displayed in the UI.