Note that I had to modify this calibration modification code [why can't these PRs ever be simple? :) ].

@agramfort or @mluessi do you know why the channel `'range'` parameter was being reset? In any case, if you reset it for data being saved in 'short' / 'dau_pack16' format, it breaks. This is because the scale being wrong causes nearly all the data, when de-calibrated, to be < 1, and thus get truncated to zero on conversion to integer. Leaving the scale at the original, correct value avoids this behavior. I was tempted to remove this "correction", but I figured since someone took the time to add it, it's probably important. Maybe we should add an option to `raw.save()` called `reset_range=False` by default, explaining why it would be used. Then if `reset_range is True` and `format == 'short'`, then we throw an error because it's likely to zero-out the data. WDYT?