[commands] Use eval instead of get_type_hints to resolve typehints
[commands] Use eval instead of get_type_hints to resolve typehints

The previous usage of `typing.get_type_hints` caused issues as it would
incorrectly decide to convert annotations into their equivalent
`typing` form -- which is not what we want to happen here.

Due to some use-cases about how setting `Command.callback` work and
the amount of moving parts that have changed due to this patch, it is
probably better to refactor the way it is set so users can have this
use-case handled transparently for them.

rapptz/discord.py,Harmon758/discord.py,Harmon758/discord.py,Rapptz/discord.py,imayhaveborkedit/discord.py,khazhyk/discord.py