moved TimingNetwork and associated methods into a new module so pickling works correctly
removed definition of TimingNetwork and put it in a separate module so pickling works correctly
changed how classes store internal data structures so pickling works correctly