Fix delegation of T == Property<T> for C++20
In C++20 a free function implementation of operator==(A, B) works for B == A too, but the automatic swap does not work for A::operator==(B), so we still need a way to delegate T == Property<T> to Property<T>:operator==(T).
This MR fix the existing delegation to work for C++17 and C++20.
See also discussion in !1455 (comment 6766089)