use six.add_metaclass

Using six.add_metaclass instead of "__metaclass__" for Python 3.x
compatibility.

Change-Id: I8bf33fb1770511657587c8f7a33acfcf9a351e79
Merge "use six.add_metaclass"