Added plt fixture for easier test plotting

Rather than creating at Plotter object manually,
this commit makes it possible to add a `plt` argument
to a test function, which is `matplotlib.pyplot` if
plotting is enabled, and a mock object if plotting isn't
enabled. It figures out a reasonable filename from the
arguments to the testing function.

Additionally, the Plotter now automatically saves the
current figure and closes all open figures in
__exit__. If the automatically generated name is not
sufficient, it can overridden by setting `plt.savesas`
to a string. If saving the plot isn't desired, saving
can be suppressed by setting `plt.saveas = None`.

Test cases that plotted have all been changed to use
this new interface. There's a heck of a lot less boilerplate
now, which should make it easier to add in quick plots to
unit tests.
Travis-CI supports Python 3.4 now
Fix TravisCI matplotlib backend problem

It tried to use TkAgg by default, which fails in their environment.
Fixed by dropping a `matplotlibrc` in the current directory before
testing starts -- this keeps the fix local to TravisCI and doesn't
affect any other test running.