New distribution architecture

Distribute the network construction, allocate nodes on machines that they will execute on
Support now spiking and direct ensembles, inputs, probes, sub-ensembles and sub-probes, and subnetworks
Use float64 numbers to make subensemble tests pass
TODO: ensemble cache is not thread safe, but is now modified concurrently
TODO: support for remaining tests