Updates monitoring, links, graphing

Monitoring is now done by reporting instead of sampling.  Simulation
time is now interpreted as nanoseconds, in order to gain the resolution
necessary to support queueing delays.  Links now actually respect
capacity contraints.  Changed graphing (added test.graph_data), so that
we can test graphing without hacing to run an entire simulation