Fixed issues and added unit tests for sparse clone.

Filters now work on feature paths instead of feature types names.
Added an argument check for providing an explicit branch with sparse clone.
Fixed an issue which caused the commit traverser commit order to be incorrect.
Fixed an issue which could cause a null pointer exception while sparse cloning.
Fixed an issue with modified objects not being transferred to the sparse clone.
Added unit tests for sparse clone.