This PR adds a new console test method for asking `choices`.

## Current State

You can ask a multiple-choice question in a Laravel command with the `choice` method:

```php
$name = $this->choice('What is your name?', ['Taylor', 'Dayle'], $defaultIndex);
```

Currently, you can `only assert` the `message` of this question and define a reply like:

```php
$this->artisan('question')
  ->expectsQuestion('What is your name?', 'Taylor Otwell')
  ->assertExitCode(0);
}
```

What you `cannot test` here are the given choices: `['Taylor', 'Dayle']`
Depending on how your command looks like, these choices may change through input.

## Solution

In order to solve this problem, this PR adds a new method to expect choices. The code above can now be tested like:

```php
$this->artisan('question')
  ->expectsChoice('What is your name?', 'Taylor Otwell', ['Taylor', 'Dayle'])
  ->assertExitCode(0);
}
```

Next to the message and the reply, you can now define the expected choices as well.