Mock the modulestore for the heartbeat tests

@nasthagiri or @dmitchell please review.

This fixes the heartbeat tests so that they don't have the overhead of instantiating a modulestore (or even need mongo running actually).

@benpatterson FYI.
The semantics of this test have changed.  Instead of `test_mongo_fail`, it's now become `test_modulestore_heartbeat_fail`, which is also good to have.  But is there a reason that the original implementation of `test_mongo_fail` cannot also remain?