Merge pull request #501 from zxombie/master

pkg fails to register a package with NFS root
fixes build issue for clang-3.2 and later (missing variable declaration in combination with -Werror causes build failure)
Fixes a build issue on pre-10.x FreeBSD systems, where MK_CTF is not defined (by /usr/share/mk/bsd.own.mk) yet.

The default on 9.1 and 10-CURRENT as of now is that CTF information is not used. With this patch, if MK_CTF is
undefined, the same logic as for MK_CTF == "no" will be employed.
multirepo information added to pkg.conf.5 and a hint to the man page given in README.md
improved multirepo doc improvements even more after infracaninophile's feedback
improve multirepo docs: infracaninophile's feedback session #2
Fix markup:

  .Pa --> path
  .Dv --> defined value
  .Ev --> environment variable
  .Fa --> function argument
Merge branch 'multirepo_docs_improvements' of git://github.com/namore/pkg into namore-multirepo_docs_improvements

Conflicts:
	pkg/pkg.conf.5
Reinstate pkg_printf just on this topic branch.
pkg_printf only missing iterate_item() now.  Nearly complete.

Add pkg_dir_keep() and pkg_file_keep() accessor methods.
Add %k for package locking status; goes with the newly committed
pkg-lock(8)
Add function pointers to the fmt table.
Reformat comment slightly
Don't use inline -- makes no sense if the function is to be called via
a pointer.
Constify (constipate?) various accessor routines
Make all the format_foo() functions take the same set of arguments and
add a list of prototypes in preparation for getting rid of the
big-momma switch statement.
Add many function prototypes.  Reorder functions in the file to group
similar code together. Fill in the final missing code blocks.  Should
be complete, bar the debugging,
Add CPP glue to be able to turn off static-ness of internal functions
while testing.  We don't want these functions generally visible in
libpkg.so, but we do want to be able to exercise them individually
from within atf.
Split out the typedefs and function prototypes into a new
private/pkg_printf.h header.  This is to support linking against a
test program so that testing can exercise the pkg_printf internals.
Add a new sub-dir under tests for pkg_printf.  This pokes around in
the private internals of pkg_printf, so it specially compiles
pkg_printf.c using CPP trickery to make all the static functions in
there extern.  This means it has to be a separate binary from the
tests in ../lib

Contains no actual testing code (yet...)

Does heroic things to the C-include search path and the L-library
search path, plus futzting with RPATH to force the test program
to dynamically link against libpkg.so in the source tree.

Optionally define STATIC_TESTS to compile tests with static linkage.

Use of 'inline' in function definitions confuses the linker.