lots of stuff

- general cleanup (GEKA STOP LEAVING OLD IMPORTS ON THE FILE!)
- made cell renderers in gui anonymous classes to reduce bloat
- added "multiplexing" for client requests:
* intents get id before they are sent
* client maps intent id to Observer
* the server responds with instance of Response with same id
* client sends Response.data back to Observer mapped to this intent.
* Response with same id and data=null means end of message
- can now log a new request in db from user component