`Context.run` expands vars in args if `expand=True`

Expand config vars in command when `expand` option is `True`:

```python
ns.configure({'username': 'john'})

context.run('echo $username', expand=True)
context.run('echo $foo', expand=True, config={'foo': 'bar'})
```
runs `echo john` and 'echo bar'.

With this writing invoke tasks feels a lot smoother to me - almost like a python shell.

What are your thoughts on this?