Fixing algorithm

The algorithm now works in all cases (as far as I have tested). Idle checking is robust and when an elevator is idle is chooses a random buttonCall to adopt. The manager is then informed and sends an abortTask(L,D) message to the elevator that was assigned before. 

There are two things that needs to be done, first the quality factors should be tweaked. We can probably also use the onRoute and number of current goals values here. The second thing is to fine tune the way a buttonCall is chosen when an elevator is idle. Now this happens at random but it can calculate the highest quality for all open buttonCalls and select the one that is best.