Moved all stuff related to path-to-class mapping into separate class.

Not sure about the naming now. Also wan't type mapper to be immutable. pathToClassMap inside DBCollection should be moved to this class too.

Conflicts:
	driver-compat/src/main/com/mongodb/DBCollection.java
Made DBObjectCodec to utilize FieldNameValidator
Replaced InetAddress.getLocalHost() with InetAddress.getByName("localhost")
Updated command failure mechanism.

- Added CommandFailureException
- Wrapped executeCommand in DB into try catch.
- DB.command will swallow command failures from connector and return a command result with {ok:0, errmsg:"…"} inside.