Edit community profile

The following PR depends on #27, #29 and #30.

It implements the functionality of editing community profile. 
what is the `instance` arg referring too?  I can't see `instance` defined in the community model or form, but I may be missing something

(also, `instance` is a poor variable name since `instance()` is a builtin function)