Add a lttng-ctl header to facilitate code separation

In order for lttng-ctl.c not to grow into an uncontrollable monster of
code, add this helper header and remove static declaration of some
functions to be exported out of the C file and set them hidden.

Future work on snapshot and trigger will use it in order to better split
the code into different files.

Signed-off-by: David Goulet <dgoulet@efficios.com>
Move multiple URLs parsing fct from lttng-ctl to uri.c

Just move some functions around so we can use the multiple URLs parsing
to URIs function outside of liblttng-ctl.

Signed-off-by: David Goulet <dgoulet@efficios.com>
[HEAD MERGE] Snapshot API

Every call has been coded in liblttng-ctl. Nothing on the session daemon
side yet apart from adding the case to the process client command
subsystem.

!!Need comments!! before mergin that commit.

Signed-off-by: David Goulet <dgoulet@efficios.com>
[HEAD MERGE] Add snapshot command to lttng UI

Signed-off-by: David Goulet <dgoulet@efficios.com>
[HEAD MERGE] Snapshot commands in sessiond

Signed-off-by: David Goulet <dgoulet@efficios.com>
[HEAD MERGE] Flight recorder feature

Signed-off-by: David Goulet <dgoulet@efficios.com>