revwalk tests: better diagram of example repo

The purported command output was already inaccurate, as the refs
aren't where it shows.  In any event, the labels a reader of this
file really needs are the indices used in commit_sorting_*, to make
it possible to understand them by referring directly from those
arrays to the diagram rather than from the index arrays, to commit_ids,
to the diagram.  Add those.

Signed-off-by: Greg Price <price@mit.edu>
revwalk: refactor tests a bit

Signed-off-by: Greg Price <price@mit.edu>
Add git_has_win32_version helper
Fix whitespace in src/win32/version.h
Merge pull request #1448 from phkelley/development

Avoid pre-Win7 WinHTTP self-redirect quirk
branch: Fix git_branch_create() documentation
Merge pull request #1452 from nulltoken/fix/branch_doc

branch: Fix git_branch_create() documentation
export git_reference__alloc
Merge pull request #1453 from ethomson/refdb_export

Properly GIT_EXPORT git_reference__alloc
General example: run against testrepo.git

Fixes #1455
Merge pull request #1456 from ben/fix-general-example

Fix the general.c example to run against testrepo.git
revparse: Parse range-like syntax

Signed-off-by: Greg Price <price@mit.edu>
revwalk: Parse revision ranges

All the hard work is already in revparse.

Signed-off-by: Greg Price <price@mit.edu>
examples: rev-list

This demonstrates parts of the interface for specifying revisions that
Git users are familiar with from 'git rev-list', 'git log', and other
Git commands.  A similar query interface is used in out-of-core
command-line programs that browse a Git repo (like 'tig'), and may be
useful for an 'advanced search' interface in GUI or web applications.

In this version, we parse all the query modifiers we can support with
the existing logic in revwalk: basic include/exclude commits, and the
ordering flags.  More logic will be required to support '--grep',
'--author', the pickaxe '-S', etc.

Signed-off-by: Greg Price <price@mit.edu>
examples: a test, for rev-list

This test file could probably be improved by a framework like
the one in git.git:t/, or by using a language like Python instead
of shell.

The other examples would benefit from tests too.  Probably best
to settle on a framework to write them in, then add more tests.

Signed-off-by: Greg Price <price@mit.edu>
Merge remote-tracking branch 'gnprice/revwalk' into development
test: Add missing NULLs
Propose unified rev-parse API
Implement unified git_revparse
Updated link to Haskell bindings

The old one hasn't been updated in a long time. This one is current.