Use unique mutex to synchronize runtime_callbacks

Initially we would use the mutator_lock_ to manage changes to the
runtime_callbacks list. Over time this stopped being sufficent. This
changes to using an explicit r/w mutex to manage these lists. Since
these callbacks are not modified very often we use a single mutex for
all of them.

Test: ./test.py --host
Test: ./art/tools/run-libjdwp-tests.sh --mode=host

Bug: 121052811
Change-Id: I3ca44402a5f6290701fa8e28d18e6afe8786214c
2 files changed