Improve service_cli.

The -m argument has been changed to -i (identifier). This can be used to get
an object by it's unique ID (md5 for Sample, domain for Domain, etc).

Cleanup the filter option to not be Sample specific. Add a -T option (default
to Sample) which can be used in conjunction with a filter to specify the kind
of object the filter should be applied to.

Make service_cli get the list of objects and pass those into run_service().
Now that contexts are no longer a thing we can avoid another database lookup
that used to happen when creating the context.
Make yara work on objects, not contexts.

Chase the context removal change and work only on objects now.

Only compile rules when they will be used, which is the non-distributed case.
Rule compilation can be a relatively time-consuming operation and there is no
need to do it in the distributed case.