initial commit of productivity report
minor style/doc fixes
WIP add in db ops and roles for new report
remove unnecessary null test

completed cannot be null (only 1 or 0) so remove
unnecessary is_null
style: centralize repeated code
add start and end datetimes to assignment table
bug-fix: missing operations

need to update the operation table before role_has_operation table
with productivity report ops
WIP implementing productivity report

fixed logic in determining when an assignment is finished
in terms of its end_datetime column, more polishing of
productive report pull and widget classes, tweak test entry reset
so that the end_datetime of the parent assignment is set back
to null indicating the assignment is still not finished
bug-fix: update residual effects

when the completed or deferred column changes due
to a non child entry edit occurs, such as when a test_entry_view
widget initiates a change: the assignment end_datetime and
the adjudicate status require assessment.
bug-fix: remove redundant constraint

no need to check if for an adjudicate for the current
user since they are all typists who cannot adjudicate
Merge branch 'reports' into develop