When the user manually trusts a certificate, we should be storing
the whole cert instead of just an encoding of its fingerprint.
This allows us to display it properly, chain other certs trusted
by it, and generally do everything more sanely.
Baby step for issue #806
This shouldn't be exposed. Internal classes switch to using
the full class rather than the interface, so they can carry
on accessing the removed methods.
Stop swimming against the tide and accept what most of the rest of
the world does.
While it adds an annoying depth to the actual source code, it makes
the root directory nicer (no more 'test-res' dirs), means we don't
have to override the gradle config, and makes it nicer to work in
IDEA 2016.1.