Fix #4270

This also makes `squeeze` require a tuple and deprecates the version that takes an iterator. I doubt there are many instances where the
dimensions to be squeezed aren't constant.