Added 'getLastError' call in WriteResult in case of previous is null.

WriteResult now holds db to execute { getLastError: 1 } on it.
Fixed an issue of invalid BasicDBList encoding by DBObjectCodec.

This is one more if-then-else to DBObjectCodec.writeValue() method.
Fixed a warning during :driver:compileTestJava

Added @SuppressWarnings("rawtypes")