create a distribution manager and worker to fascilitate distribution

- this works for the case of IPC when is_distributed flag is set to False
add some initial support for distribution

- add the distribution daemon
- daemon listens for nodes to spawn
- it also listenes for FIN messages to know when to stop processes
handle TCP socket creation and port assignement [distribute case not functional]
temporarily move functions to class methods instead of instance methods

- this allows the objects to be pickled
fix the FIN handshake at the end so the main proc properly terminates
add the functions file
use marshalling to transfer origin functions
remove probe dependency on the network instance
attempt to pass the functions through a file [broken]
fix the import problem
convert tests to use the functions.py hack
fix tests
Test harness now activates and deactivates daemon.
remove unused lines and add is_distributed flag to network
Merge pull request #82 from Hudon/distribute_local_rebased

Distribute local rebased