[FreeBSD-port] Add infrastructure for providing open_memstream() API.

Signed-off-by: Sachin Bhamare <sbhamare@panasas.com>
[FreeBSD-port] backtrace_symbols() requires -lexecinfo on FreeBSD platform.

Signed-off-by: Sachin Bhamare <sbhamare@panasas.com>
[FreeBSD-port] Add compatibility layer for timestamp APIs.

FreeBSD APIs to set access/modification times do not provide nanosecond
granularity. On FreeBSD, compatibility layer takes care of timespec<-->timeval conversion as
well as UTIME_NOW and UTIME_OMIT which are not available on FreeBSD. On Linux,
compatibility layer is just the wrapper around utimesat() and futimens().

Signed-off-by: Sachin Bhamare <sbhamare@panasas.com>
[FreeBSD-port] Fix data type of root_handle in struct vfs_fsal_export.

Signed-off-by: Sachin Bhamare <sbhamare@panasas.com>
[FreeBSD-port] Fix couple places where allocation size of root_handle was
incorrect.

Signed-off-by: Sachin Bhamare <sbhamare@panasas.com>
[FreeBSD-port] Fix implementation of vfs_readents() to pass in correct transfer
size.

This commit also fixes the bug in declaration of vfs)Readents() which was
introduced during merge.

Signed-off-by: Sachin Bhamare <sbhamare@panasas.com>
[FreeBSD-port] Re-work handle code to use platform independent APIs.

Signed-off-by: Sachin Bhamare <sbhamare@panasas.com>