Use @six.add_metaclass instead off __metaclass__

The __metaclass__ property cannot be used in python3.

Implements blueprint make-py3x-compatible

Change-Id: Iac828d0865549f0526a7ae2cd1b37895488684d6
Merge "Use @six.add_metaclass instead off __metaclass__"