ISIS-667,ISIS-684,ISIS-685: async commands, tidy-up

ISIS-684:
- rename BackgroundActionService to BackgroundCommandService

ISIS-667:
- memberIdentifier, targetClass, targetAction, targetStr consistent across PublishedEventJdo, AuditEntryJdo, CommandJdo

ISIS-685:
- @Command annotation extended, with persistence() and executeIn() attributes
- corresponding updates to CommandFacet
- Command#executor and Command#executedIn keep track of whether being run by user or background
- ActionInvocationFacetViaMethod new logic, short-circuits execution if executor = user but executedIn = background,
  and return the command instead (if persistable)
- CommandService API extended to allow callers to request persistence of Command early
  (as used by ActionInvocationFacetViaMethod)