Updates test_utilities.py

- Added test for `print_model_weights` for both classification and regression.
- Updated tests to use featureset equality now that it exists.
- Minor edits.
Fix bug in featureset __eq__

- array.{data,indices} are not always in the same order so since we are comparing them for equality we first need to sort the indices.
Deal with unicode encoded separators in .libsvm files

- LibSVMWriter currently writes .libsvm files with separators encoded in unicode to be compatible with external tools, for featuresets with string-valued features. However, these separators are not converted back when reading such files using LibSVMReader. This commit fixes that issue.
Updated make_classification_data to produce a string-valued feature

- Added optional keyword arguments that allow `make_classsification_data()` to use a single string-valued feature when constructing feature sets. This allows testing for non-numeric features.
Update test_utilities.py and test_featureset.py

- Added a new test `test_string_feature` to test for string-valued features.
- Updated `tearDown()` to check for file existence before deleting.
- Modify `test_skll_convert()` to use string-valued features in addition to numeric features.
- Modify `test_skll_convert_libsvm_map()` similarly.
- Modify `test_print_model_weights()` to work with python 2.7.