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.