core: Add filtering by media type

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
tests: added tests of type filtering for caps
core: add a setter and getter of GrlKeyID for GValues
core: Add filtering by equal key

It supports filtering by equal operator, as "artist = Madonna".

Contains modifications by Guillaume Emont <gemont@igalia.com>
tests: added caps tests for key filters
tests: added some search() and browse() tests using the fs plugin
core: Add range-filtering

Contains modifications by Guillaume Emont <guijemont@igalia.com>
tests: added a test of key range filter for fs
test-ui: Add filtering by type

When performing a search, for those sources supporting it, users can restrict
the results by type.
doc: Clearify that GrlConfig are not persistant
doc: Fix typos in GrlConfig description
core: Avoid pedantic compiler warnings with C++.

g++ complains about trailing commas in enums when using
-Wpedantic.

This fixes https://bugzilla.gnome.org/show_bug.cgi?id=679674

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
core: Prefix GObject macros with GRL_

Rename IS_GRL_foo to GRL_IS_foo.
core: Redesign source/plugin hierarchy

Previously, hierarchy was:

      +----------------+
      | GrlMediaPlugin |
      +-------.--------+
             /_\
              |
    +-------------------+
    | GrlMetadataSource |
    +---------.---------+
             /_\
              |
      +----------------+
      | GrlMediaSource |
      +----------------+

With the redesign, we have the new hierarchy:

    +-----------+        +-----------+
    | GrlPlugin |<>-----*| GrlSource |
    +-----------+        +-----.-----+
                              /_\
                               |
                  +------------+----------+
                  |                       |
        +-------------------+    +----------------+
        | GrlMetadataSource |    | GrlMediaSource |
        +-------------------+    +----------------+

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
core: Add API to get plugins from registry

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
core: Merge GrlMediaSource and GrlMetadataSource into GrlSource

It merges both types of sources in just one, improving also the full
resolution algorithm.
core: Fix introspection annotations
doc: Improve documentation
vala: Fix Vala bindings
core: Rename PluginRegistry to Registry