uSQL protocol v0.2.0
-------------

* needs to get fixed for queries in callbacks

client states:
s0: 
    send(Connect(database))->s0.1;

s0.1: 
    resv(ERR)->s0;
   |resv(OK)->s1;

s1:   
    send(DISCONNECT())->s1.1;
   |send(QUERY(qstr))->s2;
  
s1.1: 
    resv(OK)->s0;  

s2: 
    resv(OK)->s1;
   |resv(ERR)->s1;
   |send(INTERRUPT)->s3;
   |resv(Startrows(header*))->s4;

s3: 
    resv(row(_)->s3;
   |resv(INTERRUPTED)->s1;

s4: 
    resv(ROW(rowdata*))->s4;
   |resv(ERR)->s1;
   |send(INTERRUPT)->s3;
   |resv(OK)->s1;


server states: 
s0: 
    resv(Connect(database))->s0.1;
  
s0.1:
    send(OK)->s1;
   |send(ERR)->s0;

s1:	
    resv(QUERY(qstr))->s2;
   |resv(DISCONNECT)->s1.1;
   |resv(INTERRUPT)->s1.2;

s1.2: 
    send (INTERRUPTED)->s1;

s1.1:
    send(OK)->s0;

s2:
   send(OK)->s1;
  |send(STARTROWS(header*))->s2.1;

s2.1:
    resv(INTERRUPT)->s1.2;
   |send(ROW(rowdata))->s2.1;
   |send(OK)->s1;
