Move funsigs to utils/compat.
Add a new decorator for functions accepting quantities.
Improve quantity decorator and add tests.
Change the decorator to use Python 3 annotations.
Tidy up and write tests in both py2 and py3 syntax
Use inspect.signature instead, currently no py2 support.
move to extern funcsigs
move to utils.compat funcsigs