Make sub-collections accessible by __getattr__ and __getitem__.

pymongo supports this:
>>> import pymongo
>>> foo = pymongo.Connection()
>>> foo.db.bar
Collection(Database(Connection('localhost', 27017), u'db'), u'bar')
>>> foo.db.bar['baz']
Collection(Database(Connection('localhost', 27017), u'db'), u'bar.baz')
>>> foo.db.bar.baz
Collection(Database(Connection('localhost', 27017), u'db'), u'bar.baz')
Add tests for #63