Use EClientCache to open calendars in plugins

This partly fixes bug #721712 (Writeable calendars can report
as read-only after open), because the EClientCache always returns
the same EClient, which has internal properties properly updated
(at the second and following calls).