[RFC] A general task extraction mechanism for auto_scheduler

This looks okay to me. But I have one comment because this sounds like we need to add one more argument to the build interface which users may not need to know the details. Another possible option is that we can bake it into PassContext as a config. However, I understand that this configure is really not a pass config. @tqchen do you have any better suggestion?