Implemented feature to limit outgoing edges per state

EECE 310 Team L2A5

We were told by Dr. Ali Mesbah to make this separate pull request from the pull request for Issue #156 
 
This was our original implementation of Issue #156 (for reference see Issue #198), which we modified into limiting the maximum number of outgoing edges per state.