yes no prompt with a default

It is like the `agree` method, but follows our naming conventions and more importantly, it allows for a default.

```
prompt? # old way using agree()

new:
prompt? (Y/N): |Y| # using ask_yn
```

While I'm not thrilled with the new format, it is the way highline works. So it is the simplest in terms of code and consistency.