Python 2.6 fixes

1. Counter was introduced into `collections` in Python 2.7,
   so on 2.6 we rely on the backport in PyPI.
2. captureWarnings was introduced into `logging` in Python 2.7,
   so we just don't do this in Python 2.6.
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.
Mark spa/test_thalamus as optional

It's causing TravisCI to time out.