base-item, utils: Avoid CRITICALs when reading an item's metadata

If the Tracker extractor has not yet run for an item then various
variables in the query will be unbound. This would led to things like:
  Tracker-CRITICAL **: tracker_sparql_cursor_real_get_integer:
    assertion 'tracker_sparql_cursor_get_value_type (self, column) ==
    TRACKER_SPARQL_VALUE_TYPE_INTEGER' failed

These CRITICALs were more often (always?) triggered when using
TrackerSparqlConnection's 'bus' backend that uses D-Bus to access the
Tracker database. eg., the Flatpak builds that don't bundle the Tracker
D-Bus services.

!149
2 jobs for master in 14 minutes and 6 seconds (queued for 1 second)
Status Job ID Name Coverage
  Test
passed #896408
flatpak
flatpak

00:11:50

 
  Deploy
passed #896409
nightly

00:02:15