Squashed all previous commits on u1db_implementation into one for better
code review. :)

Updated message.proto definition and initial work on implementing zmq_target.

Saving message.py changes before deleting. Just in case if its needed later.

Removed message.py module.

Updated todo.

Added wrapper for creating protobuf message structs.

Updated message structures.

Added more wrapper functions to create message structures.

Added tests for protobuf messages.

Fixed bug in utilities.

Added runner scripts. Only needed for some real time testing.

Added errors.py from u1db source trunk.

Removed old imports.

Ditched reactor in zmq_target and falling back to poller to get lock-step get_sync_info working.

Updated client_runner module.

Wrapped doc strings under 79 chars.

Modified deserialize_msg. Changed tests accordingly.

Added utilies for getting U1DB data. Note: Implementation detail not to
be considered now. Just a placeholder and simulates workflow.

Fixed bug in get_source_info. Forgot to return info.

Got get_sync_info working in zmq_target.

Fixed comment regarding message frame information.

Added socket option to relax matching req-rep pairs.

Changed message field names.

Changed handling of messages. Added handlers.

Added record_sync_info in ZMQSyncTarget

Added todo on removing identifier wrapping over sync_type and zmq_verb messages.

Updated SendDocumentRequest and SendDocumentResponse message.

Added send_doc_info method to ZMQSyncTarget. This method will send documents changed at soruce one at a time after get_sync_info has completed.

Added comments to impove code readability and used wrapper of _socket.send_multipart().

Added utility parse_response.

Added utilities get_doc_info and get_source_replica_uid.

Added server side logic to handle send_doc_info. Fixed bugs in zmq_target. Working as a whole. :)