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.


Yeah I added this because @robertkowalski mentioned how our code isn't very testable. 

The idea here is to allow this View to be tested in isolation (not that, I confess, the text exists). It uses `extend` to lays down the default components, but if someone wanted to test this View, they could pass it test components that just stubbed out the functionality of `Components.ConfirmationModal`, `Views.UploadModal` and `Views.DuplicateDocModal`. This would be done like so: 

`var whatever = Views.CodeEditor({ confirmModal: TestConfirmModal, uploadModal: TestUploadModal ... });` 

Basically this just provides more control to the person testing it and not have to worry about those extra components doing extra things that made testing hard.