Finishes port to C.

The GA now works as the Java version at time of port.
Updates gitignore