Crude port of Faulon's C-implementation

I finally did the sensible thing and just ported over the c code. I don't particularly like doing this, as the resulting code is probably quite fragile, and unreadable - java spoken with a c 'accent' usually is.

However, it does reproduce the same signatures as the c code, so that's good. It only took 1 day to port, but 2 days to debug...

Check it out here :