store PackageManager in static var so it can be used in static methods

Android has some design patterns that based on static methods, like
Intent.createChooser(), that this library should mirror.  In order to
implement those, they will need access to a PackageManager instance, so
store the one we have in a static var.
tests: use list of actually installed packages for tests

The tests includes lists of possible package names, now this creates a list
from those lists of the packages that are actually installed.  That will
make the tests run reliably on various devices and emulators.
split out trust check based on packageName into separate method

This allows this method to be reused, like for isSenderTrusted().
add basic test of sending Intents with package/ComponentName set

This actually runs the Intent through startActivity(), so that method is
provided by ActivityUnitTestCase so it might not actually do anything.
tests: make package lists reusable by other test classes
implement TrustedIntents.getIntentFromTrustedSender() instance method

The idea is to mimic Activity.getIntent(), but check that the Intent is
from a packageName that is trusted.  The difference from getIntent() is
that this one throws Exceptions that must be caught.
a trusted chooser that mimics Intent.createChooser()

This creates a chooser that places the trusted recipients at the top of the
list of options.  But careful! It does not remove the untrusted recipients
from the list because the API does not allow for that.