Minor Revisions to MPController

- Now you can safely call MPController.run() many times through a program's
  life, and only one Pool will be started
- Renamed MPController.pool to ._pool
Update analyzers.indexer to Use MPController

- indexer.mp_indexer() conforms to MPController's requirements
- Indexer, NoteRestIndexer, IntervalIndexer, and PrototypeIndexer take an
  optional MPController argument in __init__()
- Indexer._do_multiprocessing() uses the MPController, if present
Updated analyzers_tests.test_indexer for Revisions in Previous Commit