Extra context: API + CLI

Fixes #12
Synthesizes parts of: #75, #100, #116, #161 and #199.
Thanks @fcurella, @aventurella, @emonty, @schacki, @ryanolson!
I see that it's because it's not just context overrides, also config overrides. Maybe call it `overrides` or similar to be more explicit that these values override everything, including the default context that is a type of override in itself?