Remote Backend Protocol

FIXME: This description is now very out of date and needs rewriting to reflect what actually happens...

This is a brief description of the wire protocol used by the remote backend:

Message 1:
Direction: ProgClient->ProgServer
Format: HELLO!
Description: Greeting message (is abritrary ATM)
When: At database opening time.

Message 2:
Direction: ProgServer->ProgClient
Format: BOO!
Description: Return of greeting (is abritrary ATM)
When: At connection setting up time.

Message 3:
Direction: ProgClient->ProgServer
Format: SETQUERY  \
                 ""
Description: The query, results to get, and weighting formula to use.
When: At prepare_match() time

Message 4:
Direction: ProgServer->ProgClient
Format: MYSTATS 
Description: The local database statistics

Message 5:
Direction: ProgClient->ProgServer
Format: GLOBSTATS  \n\
        GETMSET  
Description: The global statistics for all databases are sent,
	     and the MSet requested.
When: At get_mset() time.

Message 6:
Direction: ProgServer->ProgClient
Format: MSETITEMS  \n\
        MSETITEM:   \n\
	OK
Description: The returned MSet.