mock PluginManager for all tests except test_plugins

Since PluginManager imports from a path that isn't
in sys.path or relatively to source checkout, test
cases could potentially find, load, and run installed
plugins when running unit tests.

Workaround this with a test fixture (test/__init__.py)
that mocks PluginManager, and some code in test_plugins
to "unmock" PluginManager. A better approach in the
future is probably a shared test base class.