[Console] [DialogHelper] Make DialogHelper::ask() accept anon function for dynamic option lists.

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | no
| Fixed tickets | 
| License       | MIT
| Doc PR        | 

DialogHelper::ask() currently only accepts a static array for autocomplete. In my use case, I needed a dynamic list based off of the results of an API call. This patch allows the caller to pass in an anonymous function as well as an array for $autocomplete.

- [ ] needs tests
please use ``call_user_func($autocomplete, $ret)`` to support all callable types on PHP 5.3. ``$autocomplete($ret)`` only works for strings and invokable objects in 5.3. Callable arrays are supported this way only in 5.4+