Pause request stream during (potentially async) deserialiseUser call

Because the deserializeUser is treated as connect middleware and may be followed by other middleware that is listening for request events, the request stream events should be buffered until all middleware is called (see https://gist.github.com/mikedeboer/3047099).  Without pausing the request, middleware that pipes the incoming request (e.g. proxy middleware) may miss the 'end' event (and eventaually the socket will hang up).
Optionally pause stream in session strategy (see #106)

This allows users to control when the body stream is paused.  The session middleware should be configured to pause the body stream when there is other body-consuming middleware configured after passport and the deserializeUser function is asynchronous.
Merge branch 'pause-request' of github.com:tschaub/passport into tschaub-pause-request
No need to use Stream in tests, since pausing is disabled by default.
Add note on stream pausing.