Converted IOManager.count_function_calls() doctests into pytests.

This supports testing between Python 2.7 and Python 3.4 more cleanly.
Made RedirectedStreams doctests cross-version compatible.
Cleaned up ResidueClass tests.

Note: we should no longer compare objects against range(x) because range() in
Python2 returns a list while range() in Python3 returns a generator instance.
Instead list(range(x)) should be used everywhere for cross-version
compatibility.
Cleaned up IOManager.count_function_calls() test.
Made sequencetools more cross-version compatible.
Made quantizationtools cross-version compatible.
Made mathtools mostly cross-version compatible between 2.7 and 3.4.
Made stringtools cross-version compatible.
Removed all versioned pickle files.
Implemented __hash__ on BowHairContactPoint.
Made pitchtools cross-version compatible between 2.7 and 3.4.
Updated LilyPond version token.
Made NonreducedFraction cross-version compatible.
Merged master.