Added extra time measurement and generation of random schedules

The time measurements can be used for better testing of different versions of algorithm. Now 3 time measurements are done - the code measures:
-time taken for generation pairs of overlapping tasks
-time taken for adding constraints
-time taken for calling the solver. 
+the optimization criteria is still saved 

Moreover, the file main_rand.cpp is added to generate random schedules. These are generated in the way that a solution always exist.