s3-rpc_server: factor out backend logic

This moves all search backend logic into a modularized component.

This should not result in any change in behaviour, it just paves the way
for adding additional backends. Currently the only available backend is
Gnome Tracker.
23 jobs for slow-tevent-glib-glue in 198 minutes and 50 seconds (queued for 3 seconds)
Status Job ID Name Coverage
  Build
passed #179392098
docker shared
ctdb

00:42:21

passed #179392071
docker shared
others

00:11:09

passed #179392073
docker shared
samba

00:22:41

passed #179392103
docker private
samba-ad-dc-1

00:52:26

passed #179392086
docker shared
samba-ad-dc-2

00:46:14

passed #179392089
docker shared
samba-ad-dc-3

00:38:56

passed #179392090
docker shared
samba-ad-dc-4

00:47:26

passed #179392091
docker shared
samba-ad-dc-5

00:38:15

passed #179392093
docker shared
samba-ad-dc-6

00:37:12

passed #179392094
docker shared
samba-ad-dc-backup

00:38:58

passed #179392101
docker shared
samba-ad-dc-ntvfs

00:36:54

passed #179392083
docker shared
samba-ad-member

00:22:59

passed #179392100
docker shared
samba-ctdb

00:18:20

passed #179392102
docker private
samba-fileserver

00:28:25

passed #179392096
docker shared
samba-libs

00:33:51

passed #179392074
docker shared
samba-none-env

00:52:26

passed #179392076
docker shared
samba-nopython

00:31:19

passed #179392078
docker shared
samba-nopython-py2

00:40:54

passed #179392104
docker private
samba-nt4

00:45:57

passed #179392082
docker shared
samba-o3

00:31:42

passed #179392097
docker shared
samba-static

00:42:55

passed #179392079
docker shared
samba-systemkrb5

00:15:14

passed #179392081
docker shared
samba-xc

00:05:15