Meta classes should be before methods but after fields

This is a partial cherry-pick of b8046e88dc

Signed-off-by: Antoine Catton <acatton@fusionbox.com>
Ack-by: Antoine Catton <acatton@fusionbox.com>
Added StrDisplayNameMixin to many widgets.

StrDisplayNameMixin uses the __unicode__ or __str__ methods of the
widgets to create the display_name.  This is better than using a lambda
in the DisplayNameMixin because it forces the programmer to also write a
__str__ method for the model.

This is a partial cherry-pick of b8046e88dc

Signed-off-by: Antoine Catton <acatton@fusionbox.com>
Ack-by: Antoine Catton <acatton@fusionbox.com>