Add queries for node in/out/both degree.
first pass at integrating litmus
Added pgm_is_dag().

Added pgm_is_dag(). Returns true of the graph is a DAG,
false, otherwise. Implementation is a mix of C and C++
style. This is not desirable, but okay for now. Should
make a pass in the future to either make all the code
C or C++11.
Check for cycles in graphs
Configure non-unit produce/consume/threshold edges

Patch enables edges to have produce, consume, and threshold
token characteristics. However, non-unit tokens are not yet
supported by the signalling infrastructure (see subsequent
patch).
support non-unit produce/consume token edges

threshold counts remain unsupported
Align token buffers in hopes of vector instr
validate rates

A PGM may have an invalid specification if two
incoming edges fire in a way that causes one edge
to overflow or underflow. This patch adds PGM
validation. In the future, it would be nice to
patch-up an invalid graph to make it valid. This
patch-up would entail the addition of dummy tokens
to edges with deficient production values.