Changed to use static arrays instead of vectors in Variable
Fix quick bug.

Problem:  For some reason, pass by value is fucking up...
Added comparison functions, logical and/or
Don't need to use shared_ptr<Value> anymore...

This should improve efficiency
Added tests/bugfixes for dynamic framework
Added ability to invert w/o adding a gate (pseudogate).

Also a small optimization - pass by reference when creating gates to
avoid constantly shuffling the reference counts.