Implement proper permission checkin in Admin2

Uses Django's builtin per-model permissions (add/change/delete plus view which we'll add)
and also supports per-object permissions.
Create view permissions for all models when syncdb is run

Works exactly the same way as that of the standard add/change/delete permissions
(the code is in fact copied from there).
Merge remote-tracking branch 'upstream/master' into permissions

Conflicts:
	djadmin2/models.py
Merge remote-tracking branch 'upstream/master' into permissions
Integrate permissions into views

Views now ensure that the user has corresponding permissions.
Also, action buttons, e.g. Add, are shown only when the user can actually do that.
Merge remote-tracking branch 'upstream/master' into permissions

Some cleanup as well.
Merge