Feature/java api improvements

Add support for updateDmxData RPC callback by using a separate Thread to read RPC messages.
Rather than looking up in the HashMap twice for every packet, do

final ExpectedResponse expectedResponse = expectedResponses.remove(response.getId());
if (expectedResponse == null) {
  // log warnings
  return;
}

// handle response