Update full page document editor

Updates to the document editor page. This is what's changed:

- focus placed on editor on first load
- editor now appears full page (no margins)
- buttons now place in a full button row underneath the main header
- header and function button row are now fixed, so large docs will only scroll the editor region of the page.
- notifications moved to global notifications
- editor re-themed for consistency with other pages in Fauxton. 
- delete document confirmation prompt moved to bootstrap dialog
- ace editor now automatically scrolls into view when you click up/down and the available space in the page runs out (right now the cursor just disappears offscreen)
- resizing the window to something small will hide the "API URL" header button so there's no wrapping, and remove the text from the buttons in the button row and just show icons.

To test:
- All functionality on the document editor page (add doc, edit doc, clone, delete, view attachments). N.B. Upload attachments doesn't work locally. 
- The "<" and "cancel" links now take you back to where you were previously (all docs, specific View)
- The Delete Doc is now in a modal.
- All other Ace editors will be styled with the dark theme, like the doc editor page.


this is a bit funky - we have access to `.scrollable` so I also can't imagine why we should do it that way? to reuse the local variables in the scope?

here is a solution (at the top of the literal):
```javascript
  Views.CodeEditor = FauxtonAPI.View.extend({
    template: 'addons/documents/templates/code_editor',
    className: 'editor-content-page',
    events: {
      'click button.save-doc': 'saveDoc',
      'click button.delete': 'destroy',
      'click button.duplicate': 'duplicate',
      'click button.upload': 'upload',
      'click button.string-edit': 'stringEditing',
      'click a.js-back': 'onClickGoBack',
      'click .scrollable': 'focusOnLastLine'
    },

    focusOnLastLine: function (e) {
      var clickedInEditor = $(e.target).closest('#editor-container');
      if (clickedInEditor.length === 0) {
        this.editor.editor.focus();
        var session = this.editor.editor.getSession();
        var count = session.getLength();
        this.editor.editor.gotoLine(count, session.getLine(count-1).length);
      }
    },


```