Bug Fixes in Development Tools
Fix begin-lookup for auto-type deduction in range-based for loops.
First up, ensure we pick the proper list type by introducing a
virtual ContextBuilder::handleRangeBasedFor that is then overwritten
in the DeclarationBuilder. This way we can ensure that lastType()
actually returns the type we want.
Then, when we don't find a viable begin function in the current
namespace via ADL, fallback to ::std::begin (in accordance to the
spec) and repeat.