rename __historyData and currencyData variables

The CacheProxy's __historyData and currencyData variable do not adhere
to our naming convention for variables. Fix this.
add support for cache invalidation

The current plan is to have the CacheProxy class always cache accounts
as well as the list of currencies. This is usually safe but it might
happen that one of these elements is changed over a longer time frame
(the user might add or remove an account, or OANDA might add or remove a
currency pair). There is no way for the application to detect such an
event (no notification is sent).
This change introduces the means to force the CacheProxy object to
invalidate (flush) its cache contents such that subsequent requests will
actually pass through to the server unconditionally (and be cached
afterwards again). The user can force such a invalidation by sending the
SIGHUP signal to the program.
fix potential problem with cacheProxy

Until now the cacheProxy class had one problem: There is a potentially
large gap between our system's current time and the server time. When we
receive data from the server its time stamp is aligned based on the
server's time. Now because of the time difference it is possible that we
return data from our cache although there is already more recent data
available on the server.
This change makes use of the timeServer's estimateTime() functionality
to take a guess on the server's current time. With this estimation, we
can now check for the validity of the current cache entry based on the
server's time, not the local one.
enhance algorithm a bit -- MERGE?