`deprecate` -> `back_compat`; rename is relative

Relative rename is untested.
Renamed back_compat tests
Move deprecate into its own module
Test relative module renames
Docs: Add back_compat page
Docs: Add monkeypatch
bc: renamed_attr
bc: test_instance_method
bc: renamed_func
Tweak some docstrings
Merge back_compat back into deprecate
Simplify deprecate decorator