Make controller cache thread safe

reads and writes take place under cache lock
https://trac.torproject.org/8607
Listen to CONF_CHANGED updates & update cache

GETCONF queries are cached. Other controllers could change
configuration. Add listener for CONF_CHANGED events which updates
cache.
https://trac.torproject.org/7713