Fix sign of division in cpp_int when the values are small enough to fit in a double_limb_type. Add test cases for above. Fixes #8126.