Lift 3.0 merged with master + #1560

This merges the existing 2.6 work (mostly deprecations that were discarded in the merge) as well as the last commit of #1560 cherry-picked to `lift_30`.

@eltimn this should have all the changes of 1560, but reconciled with 2.6 history so that we can continue merging if we decide to (though we're probably rapidly nearing the point where we should consider lopping `lift_30` off wholesale).

All tests pass locally, though we've sprouted some warnings in the *record projects and in a few tests; I'll attend to those after this goes in.