A fair bit of stuff in order to get the user add forms in, including model changes

WIll need to pip install -r requirements.txt for the forms bits.

Quite a lot in this is not yet functional, but might be worth merging to get things rolling.

@jimr @davea