[WFLY-490] / [WFLY-1852] Further enhancement to add an AccessAuditContext used for holding some state for the duration of the operation.

Whilst the OperationContext made a good candidate for holding some of this as soon as interaction with non-management components occurred this state was no longer accessible.
The use of a ThreadLocal here uses the Subject.doAs stye so we can ensure any previous context is cleared as the call returns up the stack.