API proposal for mech_turk package.

First of all, read the '''[[mech_turk/ArchitectureOverview|architecture overview]]''' to get the big picture and hopefully specific questions.


== API ==
API with documentation is here:
http://www.ros.org/doc/api/mech_turk/html/python/

Server (XML/JSON)RPC documentation is here:
http://vm6.willowgarage.com/crowd_django_doc/html/

=== Helper functions ===

 * mech_turk.io_helper - small helper functions 

=== Server communication API ===
 * mech_turk.rpc_communication - communication over XML-RPC
 * mech_turk.http_communication - communication over HTTP

mech_turk.rpc_communication.connect is the most used function.
mech_turk.http_communication.connect is the second most used function.

=== Command line and classes to get/post raw data to the server ===
 * mech_turk.post_file - Post a binary file to the annotation server.
 * mech_turk.get_raw_session_results - Downloads annotation files from the server and saves them into local files.
 * mech_turk.submit_work_units - Post raw tasks to the annotation server.

These are mostly used through command line. API usage is in cv_mech_turk2.pipeline.