Switch to protected methods in ExtendedGraph

- Simpler for client, as they don't need to see all internal methods of
  ExtendedGraph. Leave a few public that could be useful for client, like
  isDirected.
- Restructure test package for access to protected methods
Set node id for single agent dist via Simulator

- This is now done via Simulator rather than ExtendedGraph
- Re-enforces Simulator single point of contact