lp1102300 speed up staff client login sequence
This code caches some data to the file system during the staff client login
sequence and will load that data from the file system on subsequent logins
instead of from the network, unless the data goes stale, in which case, new data
will be cached.
It relies on changes to OpenSRF to provide .md5 variants of methods. I've done
this on the Perl side with collab/phasefx/auto_md5_method @ working/OpenSRF.git,
but if someone were to do the same on the C (and Python) sides, then we can
cache even more data during the login sequence. The Perl side might could also
benefit from a better implementation.
This code potentially creates some security vulnerabilities, for if the data is
stored in the user profile directory, then that directory is probably not as
protected as the application itself. But this is true for the data we already
store there. In the long run, we'lll probably want to MD5 the data on the
client side to compare to the remote MD5, instead of caching remote MD5's.
Signed-off-by: Jason Etheridge <jason@esilibrary.com>