Update main()

1. Implement the "time out" by using time() function, and change the -t
option for cli to let users able to set how many minutes they want.

2. Fix the bug for creating GeneticScheduleGenerator by doing
dereference for schedule.

3. Delete the schedule pointer which is not be deleted before.

4. Add documentation for main() function