use a proper weafref stub class for python versions since 3.4

This fixes method resolution order (MRO) issues with classes relying on
multiple inheritance. WeakRefFinalizer is often listed first in pkgcore
consumers which causes issues for python 3.4 if WeakRefFinalizer is not
a derived class and derived classes are listed after it.
add myself to AUTHORS and update message about change details
use with statements to open/close files
use tempfile.mkstemp instead of mktemp
minor whitespace and indentation fixes