Added TestCounter class: simulates a 4-bit counter with JK flip-flops
FlipFlopJK: Fixed potential bug with hold mode
LogicLevel: Fixed isEdgePos() not being static
PinIo: Expanded interface in preparation for code deduplication
Component: Must now implement reset()
ComponentActive: Updated with new PinIo interface.  Now responsible for
creating IO pins, removing the need for redundant code.  Also added
isCombinational() informational function.
Component: comments
ComponentPassive: Deduped, now has defaults for Stateful interface
Decoder: Refactored, deduped
Display: Deduplicated code
DisplayLed: Refactored and deduped
DisplaySevenSeg: Refactored
TestHalfAdder: Updated methods to match new stuff
GateNand: Now overrides evaluate instead of update(). Refactor + dedupe
GateXnor: Fixed infinite recursion in evaluate().  (Forgot super)
Gate: Deduped and simplified
GateXor: Updated to use new functionality
Junction: Deduplicated, overrided reset()
Pin: Deduplication
Plexer: Deduplicated