libtracker-extract: Read FallbackRdfTypes as a string list in .rule files

FallbackRdfTypes (with an extra 's') is now a string list, so all rdf:types
that apply to a mimetype can be specified.
tracker-extract: Set FallbackRdfTypes on all .rule files
miner-fs: Remove code that calls tracker extract

Tracker-extract is going to be meant to listen for GraphUpdated
signals, so no direct communication between tracker-miner-fs and
tracker-extract would be necessary.
miner-fs: Set relevant rdf:types on files

This way, files will be recognized as promptly as possible as being
of the correct type, even though tracker-extract hasn't gone through
it yet. This information could also be used in tracker-extract itself
in order to figure out the best extractor.
ontologies: Add static nie:DataSource for tracker-extractor

This nie:DataSource will be added to resource by tracker-extract,
in order to mark files already inspected, and recognize the files
that are still unprocessed if resuming is needed.
libtracker-miner: Add TrackerDecorator

This object is a TrackerMiner abstract implementation that instead of
actively looking for information, it passively receives notifications
through the tracker-store GraphUpdated DBus signal, and offers the
possibility to fill in further information of newly added resources
or older resources missing inspection by this miner.

By default, this object receives information from all resources with
tracker:notify true, the class-names property can tweak this so it
only acts on events from a certain rdf:type.

In order to know which elements are missing inspection, the miner
relies on a nie:DataSource specific to each TrackerDecorator
implementation. On startup, TrackerDecorator will check for the
eligible elements missing that datasource to ensure those are checked.
The data source can be set through the data-source property.
libtracker-miner: Add TrackerDecoratorFS

This is a file-specific implementation of TrackerDecorator, that besides
checks on initialization, it checks for previously known items not yet
extracted on newly added volumes.
tracker-extract: Do not add statistics data if no module handled the file

This prevents a crash when reporting the statistics later, as there is a
NULL key that is expected to be a GModule.
tracker-extract: Add TrackerExtractDecorator

This is a tracker-extract implementation of TrackerDecorator, that
takes care of fetching files to be inspected, and forward these
to the passed TrackerExtract object. Upon completion, the information
is returned back to TrackerDecorator control so it is eventually
committed.
tracker-extract: Turn into a full-blown miner

TrackerExtractDecorator is put in use, replacing TrackerController as
the master of TrackerExtract. .service and .desktop files are added as
appropriate so tracker-extract is recognized as a miner, handled by
tracker-control, etc...
ontology: set tracker:notify on nfo:Video

This is to cover all basic classes that tracker-extract needs
to do piggyback indexing.
tracker-extract: Remove TrackerController

It is now unused, and its role replaced by TrackerExtractDecorator
tracker-extract: remove now nonexistent #include
libtracker-miner: Use g_slice_new0() instead of g_new0() where it makes sense

Given we're reusing these struct sizes many times, it makes sense to use
GSlice.
libtracker-miner: Clearer error message for decorator class ID failures
libtracker-miner, tracker-extract: Fix include order
libtracker-miner: Improved warnings in cases of failure t with mount events
libtracker-miner: Updated documentation with TrackerDecorator* APIs
decorator: do not estimate remaining time when 0 elements have been processed

>0 processed items are needed in order to estimate time, otherwise division by
0 happens.
decorator: Plug a leak

The values returned by g_variant_get() must be freed.