Major changes:
* Improved documentation
* Minor directory re-organisation. For example, Vehicle and IntersectionManager moved into intersection_control.core.algorithm package
* Convert Trajectories to abstract interface so that Trajectories can be defined in a number of different ways. Provide the default PointBasedTrajectory
* Add stip algorithm. A decentralised discretised-space-time approach.
* Improve performance of qb_im algorithm. Add WAITING_AT_INTERSECTION state to Vehicle FSM
* Use SUMO context subscriptions instead of traci calls in SumoEnvironment. Led to huge improvements in simulation speed.
* Add traffic_light algorithm as baseline signalised intersection control algorithm
* Add more metrics that can be collected by MetricCollector
* Add scripts for algorithm comparison and parameter varying experiments
* Add multi-lane functionality to qb_im algorithm
* Add integration tests that test each algorithm in each environment