make completion managers responsible for their own caches
- move cache out of CompletionDomainHandler into CompletionManager
- make CompletionManager longer lived
- move context and source fields out of DartCompletionManager and into superclass
- encapsulate information related to a specific request in new CompletionRequest rather than in the manager
- remove request specific information from CompletionManager creation
- use same ContextManager instance for consecutive requests on the same context/source pair

BUG=
R=scheglov@google.com

Review URL: https://codereview.chromium.org//723263004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@42157 260f80e4-7a28-3924-810f-c04153c831b5