Make h2 in body collapsable

The HMRC schema and the other-types-of-manual schema that is produced by https://github.com/alphagov/specialist-publisher are different. HMRC collapsibles are provided already broken down whereas the specialist publisher provides them as a blob of body text.

This commit flattens both types as much as possible to produce the same basic HTML and then uses JavaScript to:
- Determine which h2s should be made into collapsible headings.
- Add required tags around these h2s and attaches collapsible functionality to them.
I know you were just adding some `js-` prefixes here but can this be written as something like

```javascript
var $collectionControls = $('<div class="js-collection-controls" />');
$collectionControlls.append(this.$openAll, this.$closeAll);
this.$container.find('.title-controls-wrap').append($collectionControls);
```

which would save doing a query selector for the element which you just created. It also makes it slightly clearer that the open and close are being attached to the element you just created.