Added guards to load() and unload()

Now, in alternativeStrategy, the Elevator
checks before loading or unloading a Customer.
With this changes the Elevator does not open
the doors if not needed.
The efficiency counter therefore needed to be
reengineered to calculate the times the Elevator
opened its doors.