Nested form gem

Switch from custom code to support nested associations in forms over to using the nested_form gem. This is cleaner, better documented and tested.

The pull request is a little more complex than it may have needed to be due to a series of attempts to resolve some test failures. Most of those were legitimate, but our version of capybara was quite old so I tried updating it and switching to poltergeist which turned out to be another world of issues in itself. Hopefully this all remains clear enough but if not I may be able to find some time to work through and cherry-pick a less noisy branch.