Introducing the idea of a stack of ExternalContexts.

This means that when we throw an ProvisionException, we can include the entire stack, rather than catching and adding context as necessary.

It also means it's slightly easier to push a new ExternalContext onto the stack.

git-svn-id: https://google-guice.googlecode.com/svn/trunk@348 d779f126-a31b-0410-b53b-1d3aecad763e
6 files changed