Make sure new cache in AimaProver is thread-safe.

Previously, ProverCaches only had to exist on a single thread over the
lifetime of one call to the AimaProver. Now we need to ensure that the
longer-lived cache for constant values is thread-safe when accessed and
modified by multiple threads.

A ConcurrentHashMap provides thread-safety with relatively little
overhead. Note that computations for the same query on different threads
will return the same result, so we don't need to worry about dealing
with that.
Merge pull request #56 from ggp-org/prover-perf

Make sure new cache in AimaProver is thread-safe.