rewrite class Noodle to contain the queue
simplify class Block; add class Inputs and class Outputs
swap include order for Noodle.h and Block.h
add <unordered_map> inclusion for class Ports
add Block::name, which gets and demangles the Block subclass name with RTTI
rewrite Graph code to use Endpoint, Noodle, Block::name, etc.
rewrite example blocks in the new way, and test out a basic graph
add inclusion of <list>
add support for multiple noodles per output port
add another Sink to test multiple output noodle connection
add exceptions for various exceptional Ports-related conditions
remove redundant checks in Graph::addNoodle
fix count/size mixup
add Ports destructor
remove TODO for unconnected ports (checks now exist in Block.cpp)
remove sample copying code from Graph::run
add inputs and outputs to Graph::dumpGraph
remove redundant/problematic noodle dumping in Graph::dumpGraph
remove Port::debug_get_port (no longer needed)
add pointer to Sink debug output to indicate which instance it is