propagate timeout errors properly in multiplexing cache's mget

Hello @chaosgame, @x-ma, @sboora, @nicks, 

Please review the following commits I made in branch 'eford-fix-thing-maybe'.

d1af96a470914bd37e1f961d48c8af94b61de6f4 (2014-09-19 14:20:25 -0700)
propagate timeout errors properly in multiplexing cache mget

R=@chaosgame
R=@x-ma
R=@sboora
R=@nicks
I'm very confused.  If you have a fail function that just calls `Q.reject()`, how is that different than not including a fail function?