Change the way generic form view calls obj.save()

Only call obj.save if commit=False, in other words,
if it hasn't already been called.

Update new_vendor form to have commit_flag=False so
that it can execute pre-save functions on the vendor
object
Drop abstract form class forclass for vendor forms
Add email config to settings file
Add template for HTML emails
wip
wip. cleanup models and refactor needs_geocoding
huh?
wip. added a bunch of tests, but one is broken