forgot to paste the license stuff
added handler cache class
added a comment
dtor needs to be virtual

also the member variables are now promoted to 'protected'
added directory handler (WIP)
Cache now handles timestamps

add_dir_entry and switch_cache functions now requires timestamp argument
which is then used to check for updates

The cache dictionary now stores those timestamps too. When the cache
goes out-of-sync with the original data (checked by the timestamp), the
Cache::Update_lambda is called.
dir handler now supplies timestamp to Cache