Refactor security classes for static initialization

Split out security.properties I/O to a separate method returning
a Reader. This method can be intercepted at compile-time and
provide a StringReader with the content of the file. A reader is
necessary as Properties interally uses a reader and requires a
Charset to translate from an input-stream.

Refactor Services provider loading to first try the boot classpath
loader instead of the system class-loader. The former is accessible
during compile-time initialization and functionally equivalent.

Bug: 19498458
Bug: 19542228
Change-Id: I853952b83ca99006907c070734f767259c975517
2 files changed