ECalBackendSExp: Take an ETimezoneCache instead of ECalBackend.
Here's the real reason for the ETimezoneCache interface.
By changing ECalBackend parameters to ETimezoneCache (an interface which
ECalBackend implements), we abstract away the requirement for a calendar
backend when performing S-expression evaluation.
Since ECalClient also implements the ETimezoneCache interface, this opens
the possibility of allowing client-side S-expression evaluation. (Would
first require moving ECalBackendSExp to libecal, plus of course a rename
to omit the "Backend" part.)
Affected functions:
e_cal_backend_sexp_match_object()
e_cal_backend_sexp_match_comp()
This is another API break. 3rd party backends will have to be adjusted.