Implement abstract base class for flags.

The original implementation tightly coupled the `Flag` class to Django auth user & group models.
The common fields are now abstracted out into the ABC, allowing users to create their own Flag class
with minimal boilerplate.
Move 'save' method into ABC.