Change code to not add current user to roles by default

Unless there are no other authors / maintainers / licensors.
Always derive_from a specific version
Merge pull request #121 from Connexions/derived-from-version

Always derive_from a specific version
Merge pull request #119 from Connexions/rm-auto-add-user-to-roles

Change code to not add current user to roles by default
Add illustrators field to documents

MANUAL-UPGRADE: For existing documents table, add the illustrators column by:
`ALTER TABLE document ADD COLUMN illustrators JSON;`
Add role schema for all the role attributes

Role schema is the user schema with "has_accepted" attribute, which is
for storing whether the user has accepted their role.
Add function to push roles to publishing.
Add function to push license acceptors to publishing.
Allow for 404 from publishing.
Rewrite acceptance code with declare_roles and declare_licensors
Add role and license acceptance route.
Change hasAccept to has_accept in AcceptanceSchema
Add the licensor_acceptance attribute to the database storage.
Read license_acceptance from postgresql storage.
Make sure document acl and licensor acceptance is retrieved from db
Fix publishing.url setting to be a general url without a path.
Add License to json method.
Add roles as ACL entries, giving permission by role and acceptance state.
Borked. content update causes emails to be sent to all roles, regardless of prior acceptance.
Send email to users for accepting roles and license

... plus some fixes