Imported division from __future__ for Python 2 compatibility

Turns out fixing this for Python 2 was very simple. The only issue was that in Python 2, the behaviour of the division operator `/` changes to integer division when both operands are integers. This pull request just adds `from __future__ import division` to all files to change this to the Python 3 behaviour (division is always float division). This does not need to be in a separate branch of the package, as this statement does nothing in Python 3, so the same codebase works both in Python 2 and 3.