ISIS-661, also fixes for ISIS-660,ISIS-658,ISIS-624.

ISIS-661: BackgroundTaskService
- with JDO implementation

ISIS-660: refinements to Interaction context
- and rename Transactional to HasTransactionId
- introduce non-API for MementoServiceDefault to switch off encoding

ISIS-658: fix length for timestamp panel, show milliseconds
- and extend WicketViewerSettings, to have a timestamp setting property

ISIS-624: fix for @Digits, honour scale when *not* annotated with @Column

In addition:
- fix for wicket viewer, show @Prototype actions if associated with properties
  (ie as additional links)
ISIS-660, ISIS-272: fix to finder for interactions

findByGuid should've been findByTransactionId

also:
- ISIS-272: adding ValueSemanticsProvider for UUID.
- making InteractionsJdo#completedAt disabled.
ISIS-660,ISIS-661,ISIS-662,ISIS-663: background tasks and similar

ISIS-660:
- consistent pattern of services vs repository vs contributions for
  each of interactions, background tasks, published events and audit entry
- refactored todo app, introducing new Admin service that delegates
- InteractionOutcome and InteractionOutcome.Type, capture any exception
- Interaction.Nature
- HasTransaction now defines transactionId property as a UUID, not a String
- can now use UUID as a @PrimaryKey (used by the HasTransaction implementations)

ISIS-661: BackgroundTask contributions service
ISIS-662: PublishedEvent contributions service
ISIS-663: AuditEntry contributions service