Cache configuration in IniConfigDatabase while it didn't change.

Maintain a cached version of the Wini config inside IniConfigDatabase
to speed up queries especially under high load/repeated calls,
but check whether the file or platform's working dir or home dir
changed to keep the config current.
Merge remote-tracking branch 'groldan/cached_config'