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'm not sure if it is a good method in q core functions, so I just add this function and test cases without other documents. I'll finish it later if this PR gets positive feedback.