Test changing sim dt with probes.

- Ensure that changing the simulator dt automatically changes the
  default probe dt
- Validates resolution of #152
Added two new decoder optimization routines.

- they may be faster in some circumstances
Renamed pytest `benchmark` option to `benchmarks`
Added tests for new optimization routines.
Added heuristic to choose the number of eval points.

- fixes #290
Added benchmarks for number of eval points
Added check for empty activities matrix
Added tests for decoder solvers.

- also fixed bug with size of `lstsq_L1` output
Suppressed Python 3 flake8 errors.
Added `block_conjgrad` test.
Added nnls decoder solvers and tests.

- Added three non-negative least squares (nnls) solvers,
  which are based off the `scipy.optimize.nnls` method.
Small improvements to `utils`

- Added a function for plotting general data as an image with
  sensible axes
- Fixed a warning in `numpy.py:array`
Added firing rate estimators

- use either kernels or ISIs to estimate firing rates from spikes
- put these functions in a new file `utils/neurons`
- added some rough tests for these functions
Added adaptive LIF neurons

- made one `SimNeurons` object in the builder, rather than
  having `SimLIF`, `SimLIFRate`, etc.
Nodes can handle functions that don't return a value.

Fix for Issue #324
Set seed in `test_integrator`.
Added filter to direct connections where filter < dt.

Fix for Issue #319
Changed Connections to use "synapse" instead of "filter"

See Issue #283
Changed Probe to use "synapse" instead of "filter"
Merge branch 'master' into spa2