Change to ensure rolling window kwargs are passed into aggregator

Currently, rolling window accepts "Aggregator and aggregation function keyword arguments" but it doesn't pass these into aggregator.aggregate(). Instead it creates and uses a new dictionary called newkwargs:
aggregator.aggregate(rolling_window_data,axis=dimension + 1,**newkwargs)

This update makes newkwargs a copy of kwargs and includes a test.
It'd be nice to avoid a deep copy because that will copy the incoming weights array (which might be large).

I'd probably ditch the `newkwargs` variable altogether and go for something more like:
```python
if isinstance(aggregator, ...
    if 'weights' in ...
        weights = kwargs['weights']
        if weights.ndim ...
            ...
        kwargs = dict(kwargs)
        kwargs['weights'] = iris.util.broadcast_to_shape(weights, ...)
new_cube.data = aggregator.aggregate(..., **kwargs)
```