ISIS-657,ISIS-660,ISIS-661,ISIS-662,ISIS-663,ISIS-667,ISIS-668,ISIS-670: JDO services

ISIS-657:
- appsettings / usersettings entities also now use "Isis" as prefix to table names

ISIS-660:
- renamed InteractionFactory to InteractionService
- renamed InteractionRepository to InteractionServiceJdoRepository
- InteractionDefault and InteractionJdo now have a next() method, to create sequences of numbers
  (as used to generate the PKs for PublishedEventJdo and BackgroundTaskJdo, see below)
- Interaction#startedAt renamed to Interaction#timestamp (and #startedAt now a derived property)
- Interaction now defines a #transactionId property
- IsisTransaction now picks up its transactionId from passed-in Interaction object (if available)
  - and defers to Interaction for generation of next pub/sub event sequence if it can (else previous behaviour)
- IsisTransaction#guidId renamed to #transactionId


ISIS-661: (background service mementos, background task service)
- renamed BackgroundTaskContributions to BackgroundTaskServiceJdoContributions
- renamed BackgroundTaskRepository to BackgroundTaskServiceJdoRepository

ISIS-662: published events contributions
- renamed PublishedEventRepository to PublishingServiceJdoRepository
- renamed PublishedEventContributions to PublishingServiceJdoContributions


ISIS-663: audit entry contributions
- rename AuditEntryCountributions to AuditingServiceJdoContributions
- rename AuditEntryRepository to AuditingServiceJdoRepository

ISIS-667:
- added JdoColumnLength as central location for standard column lengths of JDO entities
- renamed AuditEntry to AuditEntryJdo
- renamed PublishedEvent to PublishedEventJdo
- changed PK for PublishedEventJdo entity to be application-defined: (transactionId,sequence)
- change to datatype of some PublishedEventJDO entities
- changed PK for BackgroundTaskJdo entity to be application-defined: (transactionId,sequence)
- factored out Util class for JDO entities
- renamed UserSettingPrimaryKey to UserSettingJdoPK

ISIS-668:
- improvements to ServicesInstallerFromConfiguration
- improved formatting of isis.properties in the todo app & simple app

ISIS-670:
- removed AuditingService, AuditingService2 APIs
- introduced replacement AuditingService3 API
ISIS-671, ISIS-672: renames, also @Reified annotation

ISIS-671:
- @Reified annotation and facet

ISIS-672:
- renamed InteractionContext to ReifiableActionContext
- renamed InteractionService to ReifiableActionService
- corresponding renames for JDO impls.
ISIS-672: making ReifiableActionJdo same shape as BackgroundTaskJdo

as a prereq to merging the two.
ISIS-672: removed BackgroundTaskJdo...

... and introduced ReifiableAction#parent property, populated for background tasks to
be that of the action giving rise to it.

Each background action is now identified by its own transactionId, meaning
that the sequence property is defunct (currently set to 0 at all times).

Changed the backgroundTasksServiceJdoContributions to search on the parent.

The ReifiableAction#startedAt property is now persisted, not derived from #timestamp
(because for background actions they are different).
ISIS-672: introducing quartz scheduler job to todo app

Refactorings in support of:
* removed ReifiableAction#sequence property
* removed the ReifiableActionPK class (since pk is no longer composite)
* renamed BackgroundTaskService to BackgroundActionService
  ditto for *Contributions and *Repository
* increased length of ReifiableActionJdo#exception property
* added  BackgroundActionServiceJdoContributions#siblingActions
* removed IsisTransaction#publishedEventSequence field, instead require that PublishingServiceJdo also has a ReifiableActionContext configured
  - ie force the generation of sequence # to be done by ReifiableActionContext
* new BackgroundService#newActionInvocationMemento to hide details of how the mementoservice is used by BackgroundServiceDefault

Quartz scheduler suport:
* AbstractIsisJob
* quartz servlet config in ToDo app
* example BackgroundActionExecutionJob
ISIS-661, ISIS-672, ISIS-673: execute background actions via quartz

ISIS-673
* new AbstractIsisSessionTemplate, similar to Spring's JdbcTemplate etc classes, as an arbitrary 'runnable' against Isis

ISIS-661:
* BackgroundActionExecution
  - using above AbstractIsisSessionTemplate

ISIS-672:
* example usage in todo app, with BackgroundActionExecutionQuartzJob