Backport of the dataclasses module for Python 3.6
