Do not throw error immediately if some server fails in a cluster

Hello @nicks, 

Please review the following commits I made in branch 'xiao-handle-error'.

6074f6759805f0e5de0f3b96dac83528f22622b0 (2014-04-04 08:55:07 -0700)
Do not throw error immediately if some server fails in a cluster
Remove the .end() call chained to per-server promise, so if a server
fails, it won't throw error right away, instead, it will let
Q.settledAll() to aggregate the error.

R=@nicks