Reviewed a TODO
Added warnings for unused variables and (void)ed some to keep builds clean
Fixed test name
Removed extra declaration in util_test
More compute_rank code and tests
Tested and shortened *_com functions
Added failing tests for most of util.cpp
Switched to disabling tests that I haven't written yet
Generic to_upper_echelon added, and somewhat tested
Note about compute_rank and xor_func negation
to_upper_echelon written in terms of the generic one now.  Fixed a bug in gatelist version
Character now has a few immutable fields, and parses the circuit in the constructor
The great xor_func change

Now xor_func is a class instead of just a typedef.
Much has changed.

Also init_matrix_transpose is
init_matrix, since the name was wrong before.
Moved xor_func into it's own file
Moved oracle and it's tests into their own file
Moved types into their own file.
Added the missing print_wires back
Declare to_upper_echelon in header
Removed questionable compute rank fn
Fixed constiness and referencyness of echelon functions