ENG-4682: Initial simulation components.  Can fail a node and get what
looks like sane output.  Much work still to come.
ENG-4682: More improvements:
- Be able to fail a link
- Handle the disconnect() action at the end of resolution
- Add some crude node state so we can figure out what's happening for
  tests
ENG-4682: Add some crude ability to check that the fully connected set
we expect is actually fully connected