The prompt_choices function now returns a correct result.

The prompt_choices function would try to call string.ascii_lowercase(rv) where
rv is a string.
This would raise an error because ascii_lowercase is not a function. Assuming
that the intended result is a lowercase version of the string, this has been
changed to use rv.lower()

Also the check::
        if isinstance(string, basestring):
has been changed to::
        if type(string) is str:

because basestring is not defined in python3.
A check has been added to know if args has an attribute 'callback'.

If args has no attribute callback, the help text should be printed. Because
there was a check to::
        if args.callback is 'x':
It would raise an error before the parser.print_help() was reached.
Merge pull request #48 from JorisE/master

Fixed two issues in cli