Added typing.annotations decorator for function annotations in Python 2

It is required for implementing typing.overload for Python 2.
Fix #12: Overloading works in Python 2
Made Python 2 tests more diff-friendly by using unicode_literals
Use TestCase.*regex* method names from Python 2
Backported several changes from typing for Python 3 to 2
Merge branch 'fix-python2-tests' of https://github.com/vlasovskikh/typing into vlasovskikh-fix-python2-tests
Merge branch 'vlasovskikh-fix-python2-tests'