Move transaction records from `Runtime` to `AotClassLinker`.

Keep a simple flag for active transaction in `Runtime` but
move all other transaction data to `AotClassLinker`.

Make `IsActiveTransaction()` a pre-requisite for calling
`IsTransactionAborted()`.

Eliminate `AbortTransactionAndThrowAbortError()` by inlining
into `AbortTransactionV()` and rewriting other callers to
use `AbortTransactionF()` instead.

Separate transaction-related test code to its own files.

Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: Ie6ee421fcfed1599049ab50ca692f19c71f395ce
30 files changed