Fixed #22095 -- Enabled backward migrations for RunPython operation

Added reversible property to RunPython so that migrations will not
refuse to reverse migrations including RunPython operations, so long as
reverse_code is set in the RunPython constructor. Included tests to
check the reversible property on RunPython and the similar RunSQL.

See https://code.djangoproject.com/ticket/22095