Refactored Business Events and updated to work with historical tracking

Business events are now all in a single method and loop for efficiency. They also now take a list of events, which can be filtered prior to passing to show figures for a particular period only. Also updated seeds to have durations. Duration is required for business figures to work.