PYTHON-480 - Filter __getattr__ lookups.

After this change creating instances of Database or
Collection with a name starting with a leading underscore
requires dict-style access on the parent object. This
solves problems with ipython code completion and ABCMeta
while still preserving the ability to access databases and
collections named this way.