refdb_fs: do not require peeled packed refs to be tags

Older versions of git would only write peeled entries for
items under refs/tags/. Newer versions will write them for
all refs, and we should be prepared to handle that.
refdb_fs: implement the fully-peeled trait
refdb_fs: store "cannot be peeled" flag for packed refs

Fixes #1532
refdb_fs: Traits are always surrounded by spaces

This makes parsing easier! :p
refdb_fs: Only strstr the traits line
refdb_fs: respect PEELING_STANDARD

We only set our negative flag for PEELING_FULL; we can fall
back to the lesser PEELING_STANDARD if our ref is in the
refs/tags/ hierarchy.
Merge pull request #1531 from libgit2/jk/peeled-refs

refdb_fs: do not require peeled packed refs to be tags
Merge pull request #1535 from carlosmn/pack-threading

Switch to index_version as "git_pack_file is ready" flag
puns are not funny; type punning especially so
Merge pull request #1537 from ethomson/merge_warning_cleanup

puns are not funny; type punning especially so
braces
Merge pull request #1538 from ethomson/merge_warning_cleanup

braces
fix some leaks
Merge pull request #1540 from ethomson/leaks

fix some leaks
clar: Always generate the test suite
refs: introduce an iterator

This allows us to get a list of reference names in a loop instead of callbacks.