Fixed up doctest to run under 2.x and 3.x.
Removed 8 tests that were redundant.

The remaining tests are also a bit redundant, however:
* a multiple dispatch for function remains as a basic usage sanity check, and
* there had been early concerns over differing behaviour between methods and
  functions in Python 2/3, so some tests for annotation-based dispatch remain
Added nose config and setup different py3 tests.
Added test for get_types_from_annotations.

Also: moved annotation tests so py2 doesn't run them.
Added a unit test for Python 2.x.
Added another unit test for annotations.
Separated functionality out for better testing.

Also: reverted a doctest change to protect Python 2.x tests.