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.
Tiny cleanups around array codecs
Fixed failed tests which require exception when we are catching it.
Added DBDecoder stuff to DBCursor

Methods added:
- getDBDecoderFactory
- setDBDecoderFactory

When decoding - we will use either collection codec or DBDecoderAdapter from provided factory.
Refactoring code that sets numberToReturn in OP_QUERY and OP_GETMORE
Added test for killCursors
Changed name of MongoCollectionCursor to MongoQueryCursor and removed dependency on MongoCollection.  Added methods to track batch sizes and number of get-more ops.
Re-implemented DBCursor in terms of MongoQueryCursor instead of directly on top of MongoConnector.
Fixed Checkstyle issues.
Started work on missing decoders, encoders and callbacks

- DBCallback
- BSONDecoder
- BasicBSONDecoder
- BSONCallbackAdapter : to pipe bson callback to bson reader
- fixed number of issues with pipe in BSONWriter
Update BSONCallbackAdapter & BasicBSONCallback to conform regular checkstyle rules.
Ignoring exceptions thrown from chained callbacks.
Added DefauldDBDecoder, NewBSONDecoder, DefaultDBCallback. Updated TypeMapping and moved bson tests to correct package.
Fixed ClassNotFoundException for Java 6
Fixed ssl.enabled value resolution in build script
Properly invoking chained callbacks when there is an exception decoding the reply message.
Using EnumMap instead of HashMap