port version 1.94

- if class labels are 1 and -1, ensure labels[0] = 1 and labels[1] = -1; this follows the change in libsvm
- not ported from upstream: fix a bug, delete should be delete []
- if nr_fold > # data, change nr_fold to be # data and ro leave-one-out cv; this follows the change in libsvm
- not ported: type of nnz (total number of feature nodes) in transpose() becomes long int