Fixed non-serializable properties of this servlet
WIP: Prep for next LTI iteration....

1. Expanded LtiLaunchData
2. Added vestigial LTI test page to help with debugging
SEC: fix potential resource split vuln

There was no checking on the URI to be returned to after
instructor authentication, causing possible resource split
and/or XSS vulnerability.

I have added checks to ensure that the destination URI is
a proper URI and not absolute.
Continued LTI development:

* Sketch of sending result XML
* Fake MVC action for testing receiving of results
First sketch of full LTI result returning
Merge branch 'master' into lti_iteration_2
Moved LTI result reporting to new service

This uses the domain layer to store queued results, which are then
sent asynchronously every minute or so. It can retry a number of times
after failure, so has a certain amount of durability.
Tidied up previous commit + added manager action

I've added an action to qtiworks-engine-manager to send all
pending LTI results in the queue, which might be useful in
some cases.
Tidied up entity<->DB mappings + migration script
Merge branch 'master' into lti_iteration_2

(This merge was slightly non-trivial as I was making schema changes in
both branches. However these are independent of the work in the other
branch so easily merged.)

Conflicts:
	qtiworks-engine-manager/src/main/java/uk/ac/ed/ph/qtiworks/manager/QtiWorksEngineManager.java
	qtiworks-engine/src/main/java/uk/ac/ed/ph/qtiworks/domain/entities/CandidateSession.java
	qtiworks-engine/src/main/java/uk/ac/ed/ph/qtiworks/services/CandidateSessionStarter.java
	qtiworks-engine/src/main/java/uk/ac/ed/ph/qtiworks/services/candidate/CandidateItemDeliveryService.java
	qtiworks-engine/src/main/java/uk/ac/ed/ph/qtiworks/services/candidate/CandidateTestDeliveryService.java
	qtiworks-engine/support/schema-migrations/dev28-to-dev29.sql
Merge branch 'master' into lti_iteration_2
Started schema migration script: DEV29->DEV30
Updated some dependency versions
Added LtiDomain entity
Preparatory simplification of IdentityContext
Renamed IdentityContext->IdentityService
Preparatory refactoring of User/InstructorUser

* InstructorUser -> SystemUser
* User now has UserRole & UserType
* UserRole now includes INSTRUCTOR
Continued LTI refactoring prep:

* Added LtiContext entity
* Added LtiContext assocn to DeliverySettings & Assessment
* Started refactoring Delivery entity to fit new workflow
Continued LTI, adding LtiResource entity
Further tidy to authn classes