fix(tracking): default step=None on tracker.log and accept extra kwargs in MLflowTracker (#4039)
* fix(tracking): make `step` optional and accept **kwargs in MLflowTracker.log
Several tracker `log` / `log_images` methods declared `step: Optional[int]`
without a default, even though their docstrings said the parameter was
optional. Calling `tracker.log(values)` therefore raised
`TypeError: log() missing 1 required positional argument: 'step'` on
`GeneralTracker`, `TensorBoardTracker.log_images`, `AimTracker.log`, and
`MLflowTracker.log`.
`MLflowTracker.log` also did not accept `**kwargs`, so passing per-tracker
arguments via `Accelerator.log(log_kwargs={"mlflow": {...}})` raised
`TypeError: log() got an unexpected keyword argument`. The forwarded kwargs
are now passed through to `mlflow.log_metrics`.
Added two regression tests on `MLflowTracker` covering both paths.
* test: assert MLflowTracker.log forwards extra kwargs to log_metrics