add "use warnings" directives everywhere, now that we require 5.6

Some of these are redundant with #!/usr/bin/perl -w, but we would like to be
able to remove those in the future.
use more strictness
use parent rather than use vars "@ISA" in tests