profile-analyst: resolve clusters to stops before lookup. put surfaces into cache for testing.

wonderfully, Map.get() has the signature V get(Object key) instead of V get(K key)