fix ensemble communication deadlocks

- ref #53
- ensemble sends a FIN to main proc when it is done computing
- the main proc responds to ensembles with an ACK saying they can finish
- makes sure no active ensemble is trying to communicate with a finished ensemble
Merge pull request #62 from Hudon/fix-comm-deadlocks

Tested it by merging into submetworks branch locally and running 

while true; do /usr/bin/python2 /home/robert/spike/test/nengo_tests/test_subnetwork.py    /home/robert/spike/test/../src; date; done;

For a while, and observed no deadlocks.

make test also passes.
Merge remote-tracking branch 'origin/master' into just-decoded-weight-test