fixing cycle detection issue
At cycle detection, replace condition in loop by a while(true), thus making the loop faster (we will have to check if currentBranch is null after
updating it at line 102 anyway).
Remove ControllerHolder
(for performance tests purposes)
Clean up and refactor a bit.
At ServiceBuilderImpl.install: check for the length of arrays against zero, instead of checking if those arrays are null.
At ServiceControllerImpl.transition, remove all double checks for a state, i.e., if the current state is STARTING or UP, it cannot be STOPPING and there is no need to check for that.

These checks were useful when they did more than check for state, now this became obsolete.