Added better handling of application modes (--mode [single,multi,both])

* Collections are dropped after all tests that use the app fixture
* Fixtures no longer need to call drop_collections() as a finalizer
Replace global_entity fixture with a context manager in test_app.py