Separate auto-completion from answer type 

I think it's quite bad design to mix answer conversion and auto-completion using same variable `answer_type`. So this is a little separation giving more control to app, ie. allowing to enable auto-competition without requiring that answer will be enforced to exact value from array.

eg. (user is still allowed to input 'yellow', but can use completion for green)
```ruby
ask("color?") { |h|
            h.validate = nil
            h.readline = true
            h.completion=["red","green","blue"]
        }
```
if `completion` isn't specified it will be same as `answer_type` thus consistent with that it used to be.

this also kinda fixes #65, but probably it can be improved with more functionality.