ensure scale domain padding isn't erased by autoDomain()

The semantics of `padDomain` are a little counterintuitive: if the scale uses `autoDomain` it (currently) is ignored after the first `autoDomain()` call, and otherwise it increases the domain's padding by the given scaling factor (i.e. it's not idempotent).

This PR only affects the `autoDomain` behaviour; it ensures the scaling factor given by the most recent call to `padDomain` is always applied after an `autoDomain()` call (so `padDomain` is idempotent for `autoDomain` scales).