Major refactoring for transition to protocol 1 (not tested)
Coordinator.java:
-switch from ByteArrayOutputStream to ArrayDeque to store incoming bytes
-marked all protocol 0 methods and variables as deprecated
-sendCommand() and sendBinary() return boolean values indicating success
-major refactoring on the process for reading messages from the USB connection:
  -incomingSerial() blindly writes the data to the byteBuffer
  -message reading moved to the main loop
  -main loop only reads first byte of message, then transfers control to readTextMessage_V1() or readBinMessage_V1() for the rest of the message reading
-added methods to request driver XML data

Driver.java:
-drivers can now have commands and binary data queued for processing. The main loop within run() should check for data on each loop.  This should help implement drivers for low power modules later on.  The drivers can terminate after processing their queues and the Coordinator will start them again if more data is received.

LedFlash.java, StatefullLed.java:
-updated to reflect changes in Driver.java