Fix for editing a manual with sections

Previously, editing a manual would cause it to lose the sections that had
already been created as they weren't being saved on a form update.
Merge pull request #85 from alphagov/fix-manual-editing-bug

Fix for editing a manual with sections
Make preview function work for manuals

The preview function had an issue with working on manuals and new
specialist documents. With specialist documents, the preview would only
render the body that had been saved so if you were making a new document
the preview would be blank and if you were editing a document's body, the
preview wouldn't render the changes you'd made. The preview function didn't
work at all with manual sections.

This commit fixes the 2 preview bugs and refactors the preview code to be
more reusable between different models.
Merge pull request #86 from alphagov/fix-bug-with-preview

Fix bug with Preview
Fix for attachment link visible on invalid manual

When creating an invalid manual, after trying to save as a draft, the
"Add attachment" link was visible. Now, it's correctly hidden.
Fix editing attachments on manuals

This commit fixes the 500 error the user would see if trying to edit an
attachment from a manual document edit page.
Merge pull request #87 from alphagov/fix-attachments-on-invalid-manual

Fix for attachment link visible on invalid manual
Merge pull request #88 from alphagov/fix-editing-attachments-on-manuals

Fix editing attachments on manuals
Merge pull request #89 from alphagov/publish-from-document-show

Publish documents via show page
Refactor preview JS

These changes allow the preview button to be placed in a different
position in the page from the preview container.
Fix for preview not working on new spec docs
Remove render_with method

It provided a little bit of syntactic sugar at the cost of making
controllers and views harder to reason about for newcomers to the
codebase, especially for frontend developers who may not be aware of
where to look for the render_with definition. These developers will be
more familiar with the `render(…, locals: {…})` syntax because it's
commonly used in views to render partials.
Stop using instance variables in views

Replace all use of instance variables in views with explicit calls to
`render` in controllers that pass local variables.
Merge pull request #91 from alphagov/remove-render-with

Remove render_with
Redesign of manuals #index and #show

As part of the ongoing development, I've redesigned the #index and #show
pages to better match the designs. Some workflows have changed, but this
will be an ongoing redesign.
Redesign of manual document show
Merge pull request #90 from alphagov/refactor-manual-views

Refactor manual views and preview code
Change of document to section in Frontend

Documents are referred to as sections in the frontend. This changes the
last visible instance of the words 'Documents' to the user.
Merge pull request #92 from alphagov/rename-docs-to-sections-in-frontend

Change of document to section in Frontend
Data migration for documents