adding unit tests for most components, updating hub to include cm for other components and generating overall system model, removing hub from drive.py model, and updating overall docs