Build: respect $CC, $AR, $RM, $CFLAGS, $LDFLAGS

If the user has set a value for CC, AR, or RM, use that value.  GNU make
provides good defaults for all of these.

If the user has set CFLAGS, use that instead of -O2, but preserve the
other build options.

Append the local LDFLAGS to any value from the user.
Build: respect COMPILE.c if set

The default definition from GNU make is more comprehensive.  Switch to
that, and allow an environmental override.
Build: remove redundant -rpath

LDSHFLAGS specifies -rpath, but is only used when LDFLAGS are specified,
and LDFLAGS also set the same -rpath.  Remove the redundant definition
in LDSHFLAGS.
Build: make quiet compilation optional

Switch from always hiding the executed command to hide it only by
default, but let the user request that the commands be shown.  For now,
follow the convention that setting $V requests a verbose compilation.
Mark library functions as "C" linkage

The documentation disclaims support for building with a C++ compiler, so
it is reasonable to assume that the library will be built with a plain C
compiler, so the functions will all have plain C linkage.  By default, a
C++ application that wished to use libiniparser would need to wrap the
inclusion of libiniparser headers in 'extern "C" { ... }' to reflect the
C linkage of libiniparser.  Instead, place that marker directly in the
libiniparser headers, so that client applications do not need to care.
This has no effect on normal compilation of libiniparser, since the new
markers are inside a '#ifdef __cplusplus' guard, and straight C
compilers do not define __cplusplus.
Build: move $LDFLAGS before $OBJS

Move $LDFLAGS to appear earlier, in case the user specifies a
position-sensitive flag.
Merge pull request #14 from kevin-dot-pyle/master

Build system improvements