The old sip based approach to handling property -> getter/setter conversion is broken on sip6, so move the patching into Python. Also fix incorrect checks in tests, and add additional test for compatiblity code.