Fix various Bootstrap container/row/column abuses resulting in broken layouts

Every column has to be in a row, and every row has to be in a container (except
where a row is nested directly within a column).

This also includes a change to index.html that pushes the footer to the bottom
of the page on those where it otherwise wouldn't be.

The diffs unfortunately may not be too easy to parse but these really are the
only changes - the addition of missing containers/rows/columns to fix the
layouts, and pushing the footer. Viewing with a difftool that can ignore
whitespace changes should help.