Try to keep our Python sources compatible with both Python 2.7 and 3. Check with 'pylint --py3k' and 'python -3'.
Cargo doesn't scan a directory for changed dependencies recursively, so do that as part of the build.py script.