Add support for UST dynamic instrumentation

Most parts of code are to deal with passing a varlen payload between
the sessiond, tracer application and lttng command, inspired by how
the filter feature are implemented.
Add implementation of UST dynamic instrumentation with dyninst

This patch provides a *very* basic implementation of dynamic
instrumentation support using dyninst library. More tests and
refactoring need to be done.

An explicit type conversion added in rculfhash-internal.h to make the
code compile with C++ compilers.

Macros _GNU_SOURCE are wrapped with guards to bypass g++ warning:
"_GNU_SOURCE" redefined

Automake will choose g++ as linker if a c++ source file appears in the
SOURCES list conditionally regardless the actually value of condition
variable. This will prevent lttng-tools compiling without a c++ compiler.
Thus we should manually choose a proper linker in Makefile.am.

See: http://permalink.gmane.org/gmane.comp.sysutils.automake.bugs/4184