Correctly implement inplace binary operators (for mutable types)

This also expands test_operators to cover more cases, by using programmatic test generation.
(note the added tests helped uncover and fix a bug in ``int.__floordiv__``)