Remove GIT_STATUS_SHOW_INDEX_THEN_WORKDIR option

This option serves no benefit now that the git_status_list API
is available.  It was of questionable value before and now it
would just be a bad idea to use it rather than the indexed API.
Diff hunk context off by one on long lines

The diff hunk context string that is returned to xdiff need not
be NUL terminated because the xdiff code just copies the number of
bytes that you report directly into the output.  There was an off
by one in the diff driver code when the header context was longer
than the output buffer size, the output buffer length included
the NUL byte which was copied into the hunk header.

Fixes #1710
Make SSH APIs present even without SSH support

The SSH APIs will just return an error code and state that the
library was built without SSH support if they are called in
that case.
Lots of SSH credential stuff can be left on

Much of the SSH credential creation API can be left enabled even
on platforms with no SSH support.  We really just have to give an
error when you attempt to open the SSH connection.
Merge pull request #1710 from arrbee/fix-1710

Null byte in hunk header
Indent with tabs
Make credential clearing consistent

This makes all of the credential objects use the same pattern to
clear the contents and call git__memzero when done.  Much of this
information is probably not sensitive, but it also seems better
to just clear consistently.
Add GIT_CAP_SSH if library was built with SSH

This also adds a test that actually calls git_libgit2_capabilities
and git_libgit2_version.
Fix return value in git_config_get_multivar

If there is not an error, the return value was always the return value
of the last call to file->get_multivar

With this commit GIT_ENOTFOUND is only returned if all the calls to
filge-get_multivar return GIT_ENOTFOUND.
Add more tests for git_config_get_multivar

The old tests didn't try failing lookups or lookups across
multiple config files with some having the pattern and some
not having it.
A little git_config_get_multivar code cleanup
Merge pull request #1716 from arrbee/fix-config-get-multivar

Fix git_config_get_multivar with interleaved missing entries
Merge pull request #1695 from arrbee/fix-1695

API should not be ifdeffed
Merge pull request #1704 from arrbee/kill-status-index-then-workdir

Remove GIT_STATUS_SHOW_INDEX_THEN_WORKDIR option
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()`