filters: open-up the filters API

Allow the API clients to add custom filters to a repository.
filters: move crlf tests in their own file

Initialized custom_filters.c so that it will contain tests related to adding/removing custom filters to a repository
filters: allow adding/removing custom filters for a repository
workdir is the new worktree
make git_filter an opaque struct
Move `(add/remove)_filter` in the git_repository namespace

Also fix a typo with `git_filter_create_filter()`
Move callbacks definition to git_filter namespace...
make filters_free static
use cl_git_sandbox_init
priority-based configurable git_filters
Move multi-byte CRLF test to filter branch