Test case meta - a Python 3 metaclass for generating test case methods from sample methods and tables of arguments