[Console] Added better interaction for choice questions

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | 
| License       | MIT
| Doc PR        | 

This PR adds a more user friendly way to ask choice questions when `stty` is available.

### Single choice question

![single](https://cloud.githubusercontent.com/assets/1586668/3487265/18c756aa-0471-11e4-8b5e-02de3219e55f.png)

You can move up and down with the arrow keys. 
To validate your choice press `enter`.

### Multi choice question
![multi](https://cloud.githubusercontent.com/assets/1586668/3487191/3385a27c-046b-11e4-8adb-c2e359b9fc5a.png)

You can move up and down with the arrow keys. 
To select / deselect a choice press the `spacebar`. 
To validate your choices press `enter`.

Todos:

- [x] Finish tests
- [ ] Documentation
but here, your options are mutable. This means that some code using the helper can decide to change the options, and this will impact unrelated code (which was expecting to use the defaults).

If the goal is to configure them globally, they should not be mutable by code using the helper