Add a custom 3 state boolean schema type.

This corrects and issue where if the has_accepted value was None,
it would change the value to True.
Sync role acceptance with publishing. Addresses #138

This corrects and issue where a revision would not sync up previously
accepted values into the newly created content.
Populate publishing tables for revision cases to work from.
Add the users found in the archive database.
Add backwards compat line for licensors inside declare_roles.

This is necessary for when we don't fetch the latest updated content
from storage before sending the content to the user.
Add another revision tests. This one includes more than one user.

This is further verification of the roles sync with publishing
when creating a revision.
Add license acceptance sync for revision creation. Addresses #138

This will sync the license acceptance with publishing when a revision
is created.
Ensure users who accept their roles after rejecting have edit privileges

Close #163