add CoPilot
add PilotProvider
pilot/copilot
add SupervisonStrategyFactory, with fixes for code in book that doesn't compile
refactor plane to use dependency injection and also try different supervisor strategies