tmf: Make ITmfTrace.getEventAspects() @NonNull

It's easier to deal with empty collections than dealing with
null/non-null references (for Collection.addAll() and such).

Change-Id: I9e8d0091e099027b5da0c15881b73130b4ef2e9d
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
tmf: Add a "Trace" Event Table column for experiments

Also reworked some internal methods in TmfEventsEditor to not return
a table object directly, but rather just a set of event aspects.
This way we can add this "Trace" column only for experiments.

Change-Id: I21536cd11da28f30b1f822a495cd06a4d922064c
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
tmf: Split off TmfFilterMatchesNode in two

Add new TmfFitlerMatchesFieldNode and TmfFilterMatchesAspectNode, which
both extend TmfFilterMatchesNode (which is now abstract). This will allow
using filtering on aspects.

The aspect node is not integrated yet in the Filter View, but it could be
eventually.

Change-Id: I7206c0508eed4fbb16cc22fef97900ca31220328
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
tmf: Use TmfFilterMatchesAspectNode's in the event table

This will allow filtering/searching on aspects in the event table,
which is more flexible than fields with field IDs.

With this switch, we can now remove the notion of getFilterId() from
the event aspects.

Change-Id: Iecbc47de06c44ef2d114dc3225cd094c111f1f08
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>