Extra context: API + CLI

Fixes #12
Synthesizes parts of: #75, #100, #116, #161 and #199.
Thanks @fcurella, @aventurella, @emonty, @schacki, @ryanolson!
Right, I noticed a hole in the coverage report for that line and discovered that this case gets handled when we look for the jinja delimiters to find the base repo directory.
There is a test.