Add new option --clock-offset-ns

Add a new option --clock-offset-ns. It requires a parameter
that specifies a clock offset (in nanoseconds) that is added
to each timestamp.

This works exactly as the option --clock-offset, except that
the value is given in nanoseconds instead of full seconds.

The two options --clock-offset and --clock-offset-ns are
compatible with each other, and it's possible to give both.
For example, having the options

--clock-offset 2 --clock-offset-ns 1000000

means that 2.001 seconds is added to each timestamp.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: handling of empty streams

Fixes #518

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Print warning to stderr if a ctf-text read is attempted
Fix two compiler warnings

Clang reported an uninitialized variable, ret, in ctf.c and an always-false
condition (checking if an unsigned value < 0) caused by a type mismatch in
ctf-visitor-generate-io-struct.c.
Remove unused array in bt_context_add_traces_recursive
Add bt_stream_pos to bt_trace_descriptor

This is intended to provide a generic way to access the bt_stream_pos API
without having to make assumptions about the output format's descriptor layout.
Fix code relying on the output format being ctf-text
Add a format-agnostic iterator creation mechanism

Iterators now expose an event providing function so that a user does not
have to know the input trace format to get "bt_ctf_event"s.

A context can now create a specialized iterator depending on its input
trace format.