more elegant callback mechanism

* call LLRPClientFactory.addStateCallback(state, cb) to register a callback for
  LLRPClient state changes

* call LLRPClientFactory.addTagReportCallback(cb) to register a callback for tag
  reports

* new ProtocolWrapper class that clients should use as a container for connected
  LLRPClients (see reset and inventory)
expunge LLRPReaderThread
fix test vs. new callback scheme
simple decoding tester
fix parsing of incoming bytes

* base LLRPClient on a twisted LineReceiver in raw mode
* parse message header from incoming byte stream to detect partial reception;
  continue accumulating in a buffer until enough bytes received
* move partial-message handling from LLRPMessage to LLRPClient