ISIS-660: Factored out 'Transactional' for Interactions

As a means of distinguishing implementations that are persistent (eg InteractionJdo) vs
those that are not (eg InteractionDefault).

In addition:
- Clock.getTimeAsJavaSqlTimestamp()
- use for setting times on Interaction objects.