Make ConfigurationManagerMongoDB.read return a list

The MessageEncoderMongoDB.replace_id method iterates over the returned
Cursor depleting it before the call to encode.  Rewinding the Cursor
does not fix the issue as the changes made by replace_id would not be
persistent that way.
Add docstrings