Support `ask`

As an alternative to `set`, `ask` takes a key and a default value. When
the key is called with `fetch` the user will be prompted to set the
value.