Configurable grid

This is for issue #205 and #330.

The default is still a 16 column Deco grid.  You can register your own system as an `IGridSystem` utility based on the `Deco16Grid` class with a different name and select it in the configuration panel.  You should create a grid that matches the css of the theme that you are using on your site.

In `testing.py` there is an example of a bootstrap system, though there is no matching css, so it would look ugly.

Note: we started this on the configurable-grid branch, but master had too many changes so we merged the changes in a fresh branch.