ART: Factor out lock order and holder from mutexes

Isolate the order and holder class from the mutex definitions.
The locks header requires significantly fewer includes, and
will be used in a follow-up change to remove mutex.h dependencies
in headers just for the sake of annotation lock requirements.

This is itself an NFC commit, only pulling the code apart.

Bug: 119869270
Test: m test-art-host
Change-Id: I11ca161ac3118725c79313a82f58595699b590bf
5 files changed