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.