Add consumer-stream.c/.h in libconsumer

These new files contain relevant calls to a lttng_consumer_stream object
and for now breaks down consumer_del_stream() from consumer.c that got
out of hand in terms of size and can not be used if the stream was not
previously successfully sent to a thread making difficult the deletion
of a stream in some error path or in no monitor mode (future mode for
streams with snapshots) outside of this use case.

It helps also modularize the consumer object and makes the code easier
to maintain and to better evolve.

At this commit, no components use this yet. Future work will
incrementaly move every consumer stream specific actions to that
seperate API.

Signed-off-by: David Goulet <dgoulet@efficios.com>
Use the consumer stream API in consumer_del_stream()

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>
[MERGE] lttng snapshot command fails if session is not in no output mode

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

Signed-off-by: David Goulet <dgoulet@efficios.com>
[HEAD MERGE] Kernel snapshot support

**ADD CHANGELOG**

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
[MERGE] add kernel consumer destroy channel. NOT COMPLETED

Signed-off-by: David Goulet <dgoulet@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
[MERGE] free stream in the no monitor list on del channel

Signed-off-by: David Goulet <dgoulet@efficios.com>
[MERGE] Some fixes. Veille technologique (RLNX inside)

Signed-off-by: David Goulet <dgoulet@efficios.com>
[MERGE] destroy kernel channel fix

Signed-off-by: David Goulet <dgoulet@efficios.com>
[MERGE] sessiond destroy metadata

Signed-off-by: David Goulet <dgoulet@efficios.com>
[MERGE] close and free metadata stream on destroy channel kernel

Signed-off-by: David Goulet <dgoulet@efficios.com>
[MERGE] add destroy metadata after metadata snapshot in sessiond

Signed-off-by: David Goulet <dgoulet@efficios.com>
[MERGE] don't send metadata if session no output

Signed-off-by: David Goulet <dgoulet@efficios.com>
[MERGE] fix crass malfait

Signed-off-by: David Goulet <dgoulet@efficios.com>
[MERGE] fix crass malfait

Signed-off-by: David Goulet <dgoulet@efficios.com>
[MERGE] don't close metadata stream on del channel

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

fix channel/stream output mixup, return core and add basic test
close metadata
fix return code + validate trace multiple events
test files
enable all tests

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>