don't access userAgentCache from multiple threads

(closes #49)