Layout refactor part deux

Following discussion with @gjvis (https://github.com/moneyadviceservice/frontend/pull/552/files#r15592326) some proposed further refactoring of the layouts.

The main crux of the issue is that we can only use the nice template inheritance between partials, so if we want to reuse the constrained or unconstrained layouts we have to revert to the old method.  Because of this, we moved the markup from those layouts into partials and then just called them from the actual layouts.

In an effort to make it less of a pointless extra step I've refactored things a little to try and get something from it, namely to give us layouts that are named based on their use rather than their contents.

If this gets merged, mounting of engines will be much cleaner by being able to give them a layout that calls the ``_constrained`` partial.