[Context] Separate notion of Context and ContextBuilder

This PR introduce concept of ContextBuilder and make a Context simpler.

Actually it's impossible to create a Context from an existing directory. 

With this PR a context is just something pointing to a directory and can be transform to a tar or ressource.
ContextBuilder allows to create temporary context with add,from,run commands like the old Context class.

This is indeed a BC break.