- Add run() method to SystemExperiment class for full experiment loop
- Add create_branch() method for git branch management
- Add metric_fn parameter for custom metric extraction
- Add revert_on_failure and hypothesis attributes
- Update CLI learn command to use new SystemExperiment.run() method
- Add tests for new functionality (run, create_branch, custom metric_fn)
- Maintain backward compatibility with standalone functions
Refs #906