changed equals() and hashcode() s.t. it doesn't check if the
transportation equals but only checks its duration
For getAvailableTBs(), accepts Collections, not restricted to ArrayList
Changes to using AST because it now requires 1 activity at construction
and only supports joining ASTs and cannot only add activities