Add an `auto` method which can auto resolve promise dependency.

Just like https://github.com/caolan/async#auto does.

This's very convenience but I don't know whether it's a good method for q core functions or not, so I just add this function and test cases without other documents. I'll finish it later if this PR gets positive feedback.