Vector improvements and their fallout
Fix p_realpath on OpenBSD

OpenBSD's realpath(3) doesn't require the last part of the path to
exist. Override p_realpath in this OS to bring it in line with the
library's assumptions.
Test buf join with NULL behavior explicitly
Implement config key validation rules

This is a new implementation of core git's config key checking
rules that prevents non-alphanumeric characters (and '-') for
the top-level section and key names inside of config files.

This also validates the target section name when renaming
sections.
Test config name validation

This is @nulltoken's work to test various invalid config section
and key names and make sure we are validating properly.
Now with no multiply
Merge pull request #1285 from phkelley/vector

Vector improvements and their fallout
Merge pull request #1295 from carlosmn/obsd

Fix p_realpath on OpenBSD
Merge pull request #1296 from arrbee/stricter-config-name-checks

Stricter config entry name validation