Add strbuf_va_vprintf() convenience macro
Improve socket function prototypes and macros

Remove '__whence' argument name from all struct __sourceloc prototype
arguments

Parentheses around macro arguments

Use __WHENCE__ instead of __HERE__ in macros
Improve Serval instance path operations

Replace form_serval_instance_path(), which takes a single 'path'
argument, with formf_serval_instance_path() and
vformf_serval_instance_path(), which take printf(3)-like arguments.
This supports more flexible instance path file names.

FORM_SERVAL_INSTANCE_PATH() macro works as before, but reimplemented
Issue #20: Make abstract sockets work

Finish the work started by Daniel in 2012, by using abstract local
AF_UNIX sockets on platforms that support them (Linux, Android).

Fix all sorts of bugs and issues that prevented the existing MDP and
Monitor client and server code from working with abstract socket names.