Add full support for .libsvm files

The main change for this PR is that `.libsvm` is now a valid format for `skll_convert` and `run_experiment`.  

There are also some other fixes I added along the way:
- Add PyYAML to requirements.txt
- Fix license headers in the `cli` package. They were all still GPL for some reason.
- PEP8 issues throughout `test_skll.py`
The function accepts arrays or lists of dicts.  If we're given an array instead of a list of dicts, we use the vectorizer to convert the array to a list of dicts.