Apply new arg checking method in Download module

apply new argument checking method in download module
type checking: add new "Callback" type
Merge pull request #316 from zivchang/next

Apply new arg checking method in Download module