Add tests for ConfigurationManager.handle_request

test_reply_error_request_value_database_error

  'reply_error' is called with the correct arguments when a
  DatabaseError occurs in handle_request_value

test_reply_error_write_value_message_error

  'reply_error' is called with the correct arguments when a
  MessageFormatError occurs in handle_write_value

test_reply_error_write_value_database_error

  'reply_error' is called with the correct arguments when a
  MessageFormatError occurs in handle_write_value
Handle InvalidId in MessageEncoderMongoDB.hook
Fix MessageEncoderMongoDB.replace_id

The "object_id" and "_id" keys were mixed-up.
Add `Cursor' handling in MessageEncoderMongoDB.default
Rename e --> part in MessageEncoderMongoDB.replace_id
Add tests for MessageDecoderMongoDB

test_hook_only_object_id

  The hook method only affects the "object_id" key

test_hook_id_is_objectid

  The hook method makes an bson.ObjectId from the "object_id" key
  and stores it into "_id"

test_after_hook_no_more_object_id

  The hook method removes any "object_id" key.
Add test MessageEncoderMongoDB.replace_id

test_replace_id

  replace_id produces the expected modifications to a payload
Add test for Context

test_reply_error_calls_send_reply

  send_reply is called from reply_error
Make ConfigurationManagerMongoDB.read return a list

The MessageEncoderMongoDB.replace_id method iterates over the returned
Cursor depleting it before the call to encode.  Rewinding the Cursor
does not fix the issue as the changes made by replace_id would not be
persistent that way.
Add docstrings
Add preliminary error messages to exceptions
Add errorcodes to the exception classes
Remove old files
Fix typos
Add docstrings
bugfix in input
merge with sperrhakens masterbranch
make extra repo with apps
Merge with akigiris commits
clean up