New APIs: longest/shortest path and others.

This patch adds new APIs to PGM:
* pgm_get_min_depth()/pgm_get_max_depth(): Returns the min/max
  path from all sources to a given node. Only the min/max path
  from a single source is returned. User may also provide an
  edge-weight function.
* pgm_get_producer()/pgm_get_consumer(): Get the requested
  node_t handle, given an edge_t.
Adds tool 'depthtest' for testing min/max path API

This patch adds the test tool 'depthtest' for testing
the pgm_get_min_depth()/pgm_get_max_depth() APIs.
Add phase to real-time PGM nodes.

This patch adds a release phase to real-time non-source PGM
nodes. Non-source nodes need to have their initial release
phased according to the longest path (with edges weighted
by producer period) from any source.