Implement meshgrid_nd function.

Numpy's meshgrid did not support more than two dimension before version
1.7 or ij-indexing.
Split tuning_curves again in two functions.
Add 1d tuning curve function for convenience.
Fix PEP8 warning.

Axes3D is used with the projection='3d' argument to add_subplot.
Respect radius in tuning curve calculation.
test_ensemble now uses the plt fixture
Added tuning_curves notebook

This helped me understand how to use the tuning_curves
and response_curves functions. Guessing it will be useful
to others as well!
Removed tuning_curve_1d function

And just adding a bit of special-case code for 1D ensembles in
the tuning_curve function. I think this is nicer from the user
perspective, though the special casing for 1D makes the function
slightly less readable.
Fix unit test failures

And a few other random cleanup things