Learn w/ pre.array_size = 1, post.array_size = 2

the pre.array_size = 1 is hardcoded, error dimension is 1
just an intermediate step on the road to getting this working
Learning with post n_array multi-D ensembles

another step!
Working for basic n_array pre population

basic test with pre population n_array, d = 1, array_size = 2
TODO:
	- lots and lots of testing for different pre/post/error
          dim/array_size combinations
Test file for testing different setups

Made the learn_array test set up such that it tests a whole
bunch of different configurations of dimension and array sizes.

- Runs trial, generates figure, upon closing figure next trial runs
- Has already uncovered problems, will address shortly
Learning with network arrays working

- Submitted to a battery of tests with learning_array test
- Stipulation - error signal must have same number of dimensions
	as the post population
Decoders are now shared variables
Removed old comments about decoders hack
Merge branch 'na_learn' of https://github.com/ctn-waterloo/nef-py
Learn w/ pre.array_size = 1, post.array_size = 2

the pre.array_size = 1 is hardcoded, error dimension is 1
just an intermediate step on the road to getting this working
Learning with post n_array multi-D ensembles

another step!
Working for basic n_array pre population

basic test with pre population n_array, d = 1, array_size = 2
TODO:
	- lots and lots of testing for different pre/post/error
          dim/array_size combinations
Test file for testing different setups

Made the learn_array test set up such that it tests a whole
bunch of different configurations of dimension and array sizes.

- Runs trial, generates figure, upon closing figure next trial runs
- Has already uncovered problems, will address shortly
Learning with network arrays working

- Submitted to a battery of tests with learning_array test
- Stipulation - error signal must have same number of dimensions
	as the post population
Decoders are now shared variables
Removed old comments about decoders hack
Merge branch 'master' of https://github.com/ctn-waterloo/nef-py
Fix #19

the encoders are required in several places to not be theano objects,
so I moved the creation of shared_encoders into the constructor and
kept self.encoders as a static np.array
pretty sure the only place shared_encoders is used is in the ensemble
update method, but if it can be used elsewhere it should

- also changed over several places to using theano methods instead of np
- also added a runtime measure to learn_array test
Added Filter class to easily filter data during simulation.
- the Probe class now uses this filtering
- TODO: modify Accumulator and hPESTermination to use this filter
Changed probe target parameter to string

Now targets are specified the same as for the connect function
- Updated all the tests accordingly
- Added 'data_type' parameter to network.make_probe
- TODO: handle case for data_type = 'spikes'
net.make_probe can record data_type 'spikes'

- Also added test_probe to test set
- Also cleaned up line in lif.py