implemented spread out Algorithm

***Current Updata***
Current implementation uses EvaluateTotalTimeLineAndAssignValidTimeSpots
to always reassign schedule irrespective of how much space is available.
It no longer needs the artificial schedule breaker.

Implemented Procrastinate

Spreadout also tries to assign events based on the average occupancy of
the schedule.

****BUGS****
-there is a dictionary key bug that needs to be fixed. Check your debug
folder for keyerror.xml.
-Even though spread out evens out the occupancy, it does not try to
spread out the schedule.
-Also we need another call to stitchunrestricted to ensure further
evening out of schedules

-Using a procrastinate button while working on an event needs to
accomodate the curent event being worked on

- need real life location data in implementation
- need to ensure that selected events are prioritized based on closeness
to deadline.
- implement enforcement of diversity in events
- Disable stitch restricted for last free time line, or ensure that it
only stitches event that cannot exist outside the deadline
-enable multi threading
Implemented spreadOut ALgorithm & Procrastinate

***Current Updata***
Current implementation uses EvaluateTotalTimeLineAndAssignValidTimeSpots to always reassign schedule irrespective of how much space is available. It no longer needs the artificial schedule breaker.

Implemented Procrastinate

Spreadout also tries to assign events based on the average occupancy of the schedule.

****BUGS****
-there is a dictionary key bug that needs to be fixed. Check your debug folder for keyerror.xml.
-Even though spread out evens out the occupancy, it does not try to spread out the schedule.
-Also we need another call to stitchunrestricted to ensure further evening out of schedules

-Using a procrastinate button while working on an event needs to accomodate the curent event being worked on

- need real life location data in implementation
- need to ensure that selected events are prioritized based on closeness to deadline.
- implement enforcement of diversity in events
- Disable stitch restricted for last free time line, or ensure that it  only stitches event that cannot exist outside the deadline