create new way to render post forms, and new way to initialize any form
Fix bug in the bound_form decorator

I recently added the behavior that forms add a class to the html of each
of the form's widgets.  It wasn't catching the exception if a field
wasn't listed in widgets.  As a first fix, I just go to the next field.

Later I'll make it so that it gets the widget for that field (even
though it's not in the widget's dict, and adds it to the widget dict.
fix another bug in form decorator

There is functionality that adds a class name to each widget's html.
For some reason on subsequent calls to the form constructor, in
separate requests, it was appending the class name to whe widgets's
html again and again, accumulating a string of repeating class names.
It seems that the class object is held in memory and persisted, and yet
the decorator gets run over and over, so the default class names
accumulate.

Fixed by checking if the class name is there yet, before appending it.

Also in this commit:
- completed hookup of the Proposal edit view using ProposalVersion form.
add FactorVersion to models
partway through augmenting the poposal edit form
EditProposalForm without using form_pairs
edit proposal version form is working
Enable edit form to delete factors, better validation