Attempt to fix memory leak, add some functionality

Hey,

I noticed that when I iteratively trained SVMs, I was copping a big memory leak. I think it was resulting from the Nodes allocated within problem.Add(). It seems to have fixed the problem.

I had to alter the ldflags argument to make it compile on my systems (Fedora Core and Red Hat Enterprise). I also wrapped the malloc calls in a function which invokes the garbage collector, re-tries, and then panics if it still fails.

Jack