Limit publicly exposed classes / methods
Implement TrackContainer.removeEventListener
RocketDevice: listen to TrackContainer changes

Also added close-method to remove event listener.
Refactor SocketDevice's constructor and call close() in case of fail
Add temporary public methods for testing in Processing

GNU Rocket connection (and socket connections in general) is hard to
test by using unit tests (would require a mock server), so
SocketDevice is tested by hand in Processing. These temporary functions
provide mechanisms to manipulate Tracks and get updates from Rocket.
Let Rocket know when a new track is added
Fully working communication with Rocket!

Communication works both ways; all commands are read correctly from
stream and track add command is sent. Currently the results are output
directly to console, so one can observe the stream of communications.
Rename getTrack -> getOrCreateTrack and implement new getTrack