Code modernization

Replaced all instances of % formatting with str.format. Also ran resulting code through a barrage of pep8 compliance fixes. Mostly code aesthetic changes.
I don't understand changes like this. Why the double indent?