Implement close_connections and drop_database on modulestores.

https://edx-wiki.atlassian.net/browse/LMS-2952

This PR implements common APIs on all the modulestores for `close_connections` and `_drop_database`.  All higher callers should go through Mixed to close the connections, unless it's a test that is explicitly testing only one modulestore type.

There is still future cleanup that can be done regarding removal of the _CONTENTSTORE singleton.  But we can do that as a separate story since it is unrelated to the current Modulestore work.

@dmitchell please review.
Sure - so can you ignore the pylint errors you've added w/ this method then? https://jenkins.testeng.edx.org/job/edx-platform-report-manual/576/Diff_Quality_Report/

When you do this please do `# pylint: ignore=protected-access` so that it's clear what you're ignoring on the line.