Add models for reputations

Add ReputationMetric model that keeps track of the reputation
score values for each individual model.

Add signals to apply reputation adjustments for audits at the
time that they are actually written to the database.

Make instance model nullable for ReputationMetric and Audit because
some auditables, like User, don't require an instance.

Use audit.save() explicitly over Manager.bulk_create() in order to
make the pre_save signals work.
Refactor Tests

Tests now have more helper functions to cherrypick how you'd
like to build up your test environment.
Add tests for Reputations
Merge pull request #24 from steventlamb/topic/audit_reps

Topic/audit reps
Merge pull request #25 from ahinz/master

Fix fixtures to use default role
Move FieldPermissions and Roles into "audit.py"

Since these two models are more related to audits than the main program
logic, it seems to make more sense to put them here instead.
Hook up pending system for writes

Whenever a user with "write with audit" privileges attempts to
write a field:
1. The write will not throw any sort of exception
2. The field on the model will be rolled back to the original
   value
3. An audit with will be created with a "requires_auth" flag set
   to true, signifying that this audit represents a pending action

A future commit will add the ability to query and apply the pending
audits
Merge pull request #26 from ahinz/topic/pending

Hook up pending system for writes