Add join_features and filter_features. Remove megam-specific scripts.

Also start to implement unit tests for them.
Merge branch 'master' into feature/join_filter_scripts

Conflicts:
	tests/test_utilities.py
Added tests for the `filter_feature` console script

- Added a test that use mocks to test the `filter_feature` console script for all file types except ARFF
- Added a separate `filter_features` test for ARFF files since they have special attributes that cannot be set with mocks.
Modified filter and join scripts to look for incompatible extensions sooner

- Instead of creating a reader and writer needlessly, the scripts now look for libsvm files before doing anything and raise an exception.
Added test for libsvm files for join and filter scripts.
Remove unnecessary condition.
More explicit extension checking in join and filter scripts

- All input files for joining must be in the same format.
- Output files must always be in the same format as the input file(s) for both joining and filtering.
Added more tests to test_utilities.py

 - Added extension checking tests for both join and filter scripts
- Added mock-based script to test join_features argument parsing.
Added arff to test_join_feature_argparse

- ARFF should be okay for this test since we are actually creating input files and using real readers instead of mocks.
Merge branch 'master' into feature/join_filter_scripts
Slightly clean up argument handling in join_features and filter_features

- Also clean up test formatting a bit
Merge branch 'feature/join_filter_scripts' of https://github.com/EducationalTestingService/skll into feature/join_filter_scripts
Fix some minor test bugs and update comments and docstrings
Merge pull request #198 from EducationalTestingService/feature/join_filter_scripts

Add general join/filter feature file scripts
Merge branch 'master' into feature/remove_deprecated

Conflicts:
	skll/utilities/filter_megam.py
	skll/utilities/join_megam.py
	tests/test_utilities.py