svm_c_trainer to produce incorrect results in certain unusual cases. Also added unit tests to make sure the bug stays fixed.