Minor fixes

* Deals with the case where an Ensemble has no output (and hence no decoders).  The decoder block is allocated to an empty Numpy array rather than trying to `hstack` no arrays.  Added test to ensure that no exceptions are raised for empty decoder lists -- tested with `examples/probe_spikes.py`.
* Under certain cases the Ethernet code applied a transform and then tried to flatten the new array back to the size it was prior to the transform.  This is fixed.

Tested against all examples.