Make the CMakeLists.txt more robust.

Handle "AMD64" -> "X86_64" arch, link against thread libraries if
required, and add an option to disable static builds.
Clip data for `M` message using the provided length.
Add travis envs to test static/non-static builds.
Do not build static by default.
Print a string stating that we are ready to accept connections.

This is required to be compatible with what the upstream llgs tests
expect.
Fix a temporary value misuse in SessionBase::Send.
Make sure we initialize all member variables in HostInfo.
Add support for "hidden" options in OptParse.

Hidden options are just options that don't get displayed when printing
the usage of ds2. These are going to be required to implement options
for llgs-compat.
Implement a few options required for llgs compat.
Make a copy of the input va_list in vLog before passing it.

We were calling vsnprintf() with the same va_list multiple times when
our temporary buffer was too small. We need to make a copy first.
Avoid reading a byte of uninitialized memory when parsing ProcFS values.
Fix endian check macros.
Check arguments to DS2LOG.

We use __attribute__((__printf__())) for this. This commit also contains
a few fixes for errors that showed up when we started using this
attribute.