Build decoders once and transform as necessary.
Compress decoders, get valid dimensions.

Construct decoders where all zero columns have been removed.
Perform this action on groups of decoders and tuples representing the
"header", index and dimension of each remaining dimension in the block.
"Headers" are for the purpose of attaching KeySpace generators or
similar.
EnsembleVertex uses new decoder tools.
Correct test.
Merge branch 'master' into decoders

Conflicts:
	nengo_spinnaker/utils/__init__.py
Merge branch 'master' into decoders
Minor fix for multi-dimensional constant output nodes.
Further fix for multi-dimensional constant output nodes.
Fixes issues with multidimensional output Nodes.

Laziness with arguments led to misaligned objects in the output code.
Fixed by anticipating `t` directly in OutputNode objects.
Merge pull request #67 from ctn-waterloo/node-fixes2

Fixes issues with multidimensional output Nodes.
Merge pull request #65 from ctn-waterloo/node-fixes

Constant-output node fixes
Fix for decoded calculation bug.
Fix for decoder solve fix.
Build host networks accounting for nesting.
Corrections to custom Nodes, (hence probing also).
Correction to probing pass nodes.
Remove unused imports.
Merge pull request #68 from ctn-waterloo/net-fixes

Fixes for host network generation and probing Pass Nodes
Merge branch 'master' into decoders
IO neatening.