ISIS-916: services are injected according to their menuOrder (either @DomainService or with the "1:xxx" syntax)... lowest numbers first.  All framework-provided services have a menuOrder of Integer.MAX_VALUE, so are injected last.

This commit includes an example of how to override the MementoService (within the todoapp).
ISIS-918: first pass at removing DomainObjectContainer.  The app seemingly runs up fine, but still need to look at tests.
ISIS-918: fixing up tests (per the removal of special-case handling of container).
ISIS-865: fix for 'ensureSafeSemantics' for bulk actions when automatically re-queries after a non-safe action performed.
ISIS-865: further fixes for 'ensureSafeSemantics'; also ensure that integration tests' command are set to be executed as "USER" (rather than "OTHER").

The further fixes for 'ensureSafeSemantics' are mostly comments; the actual fix was in the todo integration tests that were failing because of a missing call to 'nextTransaction()'.  There is a bit more 'belt-n-braces' resetting to null:
- of the command's event (at xactn completion)
- of the xactn's changedProperties hash (at xactn completion)