Spotlight: SPARQL parser, mapping table and marshalling

Also add types and other infrastructure code to mdssvc.h
Spotlight configure option and pkg-config for libtracker-sparql

Since I couldn't figure out how to properly make use of the compiler
flags the pkg-config check for tracker-sparql sets, I simply add
a manual checks for glib-2.0, gio and gobjects
mdssvc: dump Spotlight request

Pass snum from _mdssvc_cmd() to mdssvc_dispatch().
_mdssvc_cmd: allocate response buffer.
srv_mdssvc_nt.c: move declarations to top of function
mdssvc: Spotlight RPC command stubs and hash table

Add init and shutdown callbacks where the Spotlight RPC cmd hash table
is initialized.
mdssvc: set response buffer size and status
Spotlight RPC: add implementations

RPC: fetchPropertiesForContext
RPC: open query
RPC: fetch query results
RPC: fetch result attributes
RPC: store attributes
RPC: close query
RPC: fetch attributenames

Also updated:
- mdssvc: add a state struct
- remove typedef slq_t, use struct sl_query instead
- fix all elements names of struct sl_query
- make a connection to Tracker
- add support functions for maintaining a list of active queries
- add hash table for query results
- add structure for ino to path mapping
- add MAX_SL_RESULTS and remove unused stuff