Extra context: API + CLI

Fixes #12
Synthesizes parts of: #75, #100, #116, #161 and #199.
Thanks @fcurella, @aventurella, @emonty, @schacki, @ryanolson!
Add to the `generate_context()` docstring:

```
    Priority of context data:

    1. Overrides dict (completely overrides everything)
    2. Default context (per user, to override standard context)
    3. Standard context file (like `cookiecutter.json`)
```