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.
Because I want to make it crystal clear to non-test code that they shouldn't use this method.
I'm Ok with test code overriding the pylint warning after being careful on where it needs to call it.