Add Cube controller events

Refactor code:

* Add Cube Registry to keep track of configured cubes
* Add Cube object for interactions with a single Docker Container
* Split between Observing Container lifecycles, executing Controller
events and Object creation

fixes #19
yeah I know but I was thinking more in the way to pass container id, more then other options. I mean in some places the container id is got from Cube and in another is passed directly, I was thinking more on this way. Not in general. In fact I think its totally fine that they receive different things.