Load python sources in a safer way

Attempting to deal with https://github.com/edx/diff-cover/issues/77 in a way that allows us to stick with code that does not use byte strings.

@smartkiwi found a flaw in how we were loading in python source code and @nedbat helped me discover there is a standard way of loading in python sources based on pep0263. Python3 includes this in the stdlib
under the tokenize lib, but ipython backported this to python2 so I
just brought in their library