Added sync_exchange using a sequential mechanism for sending and
receiving docs. INCOMPLETE for now.

Updated todo.

Made target_generation and target_trans_id optional in GetDocumentResponse message.

Added doc_rev attribute to GetDocumentResponse.

Added sequential send and receive docs in sync_exchange. Incomplete now.

Fixed protobuf tests wrt new changes.
Added document to explain the sync steps.
Finished implementation of sync_exchange.

Added new message structures: DocInfo, AllSentInfoRequest and AllSentInfoResponse.

Updated AllSentResponse message struct and added some comments.

Some doc fixes.

Added helper utilities for new message structures.

Added tests for new message structures.

Updated message structures.

Updated tests.

Completed sync_exchange method.

Added server side logic to handle intermediate ping ack. Fixed bugs in sync_exchange. Finally works.
Fixes json serialization for u1db.Document instances. some code cleanup.

Added json serialization of strings for creating Document instances.

Added doc string.
Fixed issues based on review. Mergable. :)

Changed sync-to to sync-from.

Added variable to name keys, instead of typing them out.

Fixed ambiguos doc strings.
Updated .gitignore
Added new protobuf message structures, changed existing ones and renamed
Application to suit better terminologies.

Renamed Application to ZMQApp and zmq_transport.application to zmq_transport.app. And zmq_application to zmq_app.

Refactored zmq_app.ZMQApp.__init__ to maintain backwards compatibility.

Added a small todo in zmq_server to send client an error msg if it doesnt recognize the request. For now it silently ignores the request.

Fixed typo in application_runner.

Modified protobuf messages. Added protobuf utilites and tests.

Added ClientInfo message type for storing client and request information.
Updated requirements.txt
Changed protobuf message ClientInfo from string to type byte.
Refactored server side for sending received messages from client to the application instead of parsing them.
Wrapped line under 79 chars in zmq_base.
Completed app-server-client communication wrt sync.
Added server_state module from u1db trunk.
Removed queue. Queuing messages directly on the socket itself.
Added sync module from u1db trunk.
Added SyncResource class and reponse methods for handlers to get_sync_info_request and put_sync_info_request.
Merged zmq_app into unittests.