Feature django fields

*Still work in progress*

* More Django-like form management (using `fields`, `exclude` and `readonly_fields`)
* Code cleanup
* Unit tests