Added synchronization for exit of inputs.

This appears to fix bug https://github.com/Hudon/spike/issues/64

This bug was that there was no synchronization on the exit of inputs, so an input process could send to a socket, and then terminate before the ensemble could receive the input.

The fix was to add synchronization of inputs.

Testing done:

git checkout master
while true; do /usr/bin/python2 /home/robert/spike/test/nengo_tests/test_radius.py /home/robert/spike/test/../src; 

Started running at:

Sat Oct  5 10:53:27 EDT 2013

Last output came at:

Sat Oct  5 11:18:52 EDT 2013

killed at Sat Oct  5 11:33:23 EDT 2013 after 12 minutes of hanging.


Tested on input-exit-sync branch:

while true; do /usr/bin/python2 /home/robert/spike/test/nengo_tests/test_radius.py /home/robert/spike/test/../src; 

Test began at Sat Oct  5 03:29:16 EDT 2013 and ended at Sat Oct  5 10:43:34 EDT 2013.  No deadlocks were observed.