Added a stations controller that  handles comm .

All calls from mainframe to stations and vice versa should be done
through this new controller.

Appropriate factories were given for this patch.

Now the number of stations, their names, and their passwords are
determined by the StationsControllerFactory (adds generality and
testability).

Mainframe and VotingStation classes & factories were changed to match
this new design.

Tests were changed as well.

NOTE: encounter of a bug while running test2 (in mini_test class). Some
thread terminated with an exception thrown. Reason - unknown.

Have a nice day