Fix string formatting

- Replace erroneous mix of new-style and old-style string formatting with old-style formatting.
Ensured that ids is not used as a keyword argument

- Modified all tests that were using `ids` as a keyword argument.
Make list of IDs required

- Raise ValueError if ids is specified as `None`.
Started adding new tests for FeatureSet
Fixed missing space in error message.
Added more tests for FeatureSet merging
Fix and update featureset tests

- Fix comments for various tests that were duplicated due to copy and paste
- Add new test to ensure labels are copied during merging when one featureset has no labels
Fixed typo.
Modify FeatureSet len()

- Modify len() to return the number of examples, not the number of features.
- Update test_length accordingly.
Fixed filtering and added tests

- Fixed filter() to actually keep the ids/classes specified instead of removing them.
- Added tests for filtering.
Fixed filtering and added inverse tests

- Fixed inverse filtering by features that was broken before
- Modified all filtering tests to also test inverse filtering.
Properly fixed inverting in filter

- Fixed inversion bug in filter correctly
- Modified all filtering tests to also check that the number of ids, classes and feature rows are always equal after fitering,
Removed unnecessary config files.
Merge branch 'develop' into feature/increase_test_coverage
Fixed another bug in filter

- Since `columns` is not a boolean mask but a list of indices, we also need to tell `vectorizer.restrict()` that.
Fixed bug in __sub__

- Filtering needs the feature names and not the feature matrix directly.
Added test for feature set subtraction
Added test for subtraction with hashing
Modify filter test for features

- Make sure to check the feature names and not just the values.
Modified merging test with missing classes

- Test merging with with the featureset with missing classes appears first and also when it appears second in the expression.