added Distinct into IMongoCollection, implementation and tests.
added solution folders.
added DatabaseNamespace and CollectionNamespace. Converted Core and Driver to use these concepts instead of strings.
Remove the implicit conversions between DatabaseNamespace/CollectionNamespace and string because they have too high a potential to hide coding errors that should be compile time errors.