Add a RuntimeHooks facade / use ZygoteHooks more

This commit adds RuntimeHooks, a class that acts similarly to
ZygoteHooks but for both zygote and non-zygote environments. It
acts as a facade to hide some internal details from higher-level
framework classes and will be beneficial if we need to keep
runtime and core libraries internal details from leaking too far.

The TimezoneGetter class is being removed here too as the Supplier
interface is suitable for use instead.

Bug: 111055375
Test: build / boot
Change-Id: I74bb8cc6c50ff653d86149fb249ec7487dacb270
6 files changed