Add display.h and safe display buffers

A struct display_buffer describes a string buffer and the current position
within it so that a string can be built of various components. This is
especially useful for nested display functions for data types, where
the top level display function may call display functions for sub-data types.

While building a complex string, users SHOULD check the return value from
each display function and exit if it is <= 0, however, continuing to call
display functions will be totally safe.

The only things that MUST be done if building a new display primitive is
to call display_start at the beginning and display_finish at the end. A
display primitive is a function that uses a non-display function (such as
strcat, memcpy, sprintf) to copy bytes into the buffer. Such primitives must
assure that any such routines do not overflow the buffer, and then the
primitive must manage the b_current. display_finish will handle proper
indication of a full buffer or buffer overflow.

The core routines:

display_start validate and prepare to start appending to the buffer.
display_finish wrap up after appending to the buffer.
display_reset_buffer reset a buffer for re-use to build a new string.
display_printf append to the string using printf formatting
display_opaque_value format an opaque value into the buffer
display_cat append a simple string to the buffer

Additional documentation may be found in the Doxygen comments within
the source.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Add simple log macro to log opaque values

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Use display buffer in log_functions

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Add display_sockaddr to use display buffer for sockaddr/sockip

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Disable hash table display functions

Hash table display functions will be converted to use display buffer.
Disabling all of them allows for piecemeal re-implementation.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Remove unused cache inode hash display functions

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Use display buffer in hash table for display functions

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Use display buffer for ip name

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Use display buffer for ip stats

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Use display buffer for idmapper

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Use display buffer in nfs4 clientid

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Use display buffer in nfs4_state_id.c

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Use display buffer for nfs41_session_id.c

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Use display buffer for rest of SAL

Signed-off-by: Frank Filz <ffilz@us.ibm.com>

Conflicts:

	src/SAL/nfs4_owner.c
Add display_cache_inode_key

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Use display buffer in nfs4 acls

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Add display_FSAL_handle to be used in place of snprintHandle

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Use display_FSAL_handle in cache inode

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Use display buffer in MFSL

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Use display buffer in FSAL_PROXY

Signed-off-by: Frank Filz <ffilz@us.ibm.com>