fixes #827 move dropCollection into NamespaceDetails, also move
dropDatabase into a more appropriate file (database.cpp)

This commit, unlike the first one, is careful about d->drop() deleting
"this" (which is the same side affect dropCollection had on any
NamespaceDetails objects still in scope).