[debugger] Separate out variable finding.

Moves the FindVariable functionality of the SymbolEvalContext out into a
separate file. This doesn't need much context or asynchronous calls to
run so can be simpler.

Makes variable finding use Identifier for naming rather than std::strings.

Add more elaborate tests for variable finding. Add a better README.

There should be no user-visible behavior change.

TEST=unit

Change-Id: I9a90111dc5f7599936cb2decf3290e553b479d65
20 files changed