title: Python abc.abstractproperty compatibility
body: <p>The Python 3 documentation mentions that <a href="https://docs.python.org/3/library/abc.html?highlight=abstractproperty#abc.abstractproperty" rel="noreferrer">abc.abstractproperty</a> is deprecated since 3.3 in favour of <code>@property</code> and <code>@abstractmethod</code>. Is there an alternative way to implement an abstract property (without <code>abc.abstractproperty</code>) that is compatible with both Python 2 and 3 ?</p>
  
  <p>I tried</p>
  
  <pre><code>import abc
  from future.utils import with_metaclass
  
  class Base(with_metaclass(abc.ABCMeta, object)):
      @property
      @abc.abstractmethod
      def x(self):
          raise NotImplementedError
  
  class C(Base):
      pass
  
  C()
  </code></pre>
  
  <p>which correctly raises <code>TypeError: Can't instantiate abstract class C with abstract methods x</code> in Python 3, but not in Python 2.</p>