Give the User more power!

passport.socketio now lets the user decide whether to accept a connection or not. to do so, you have tu provide your own `fail`-method. This will be called unless the user is successfuly authenticated (still uses the `success`-method). The method will be called with these four parameters:
- data: `<Object>` Handshake Data
- message `<String>` Error-Message
- critical `<Bool>` True if the User is and will be unable to use socket.io because of errors in the authorization-system or somewhere else. False if the user would still be able to use the system (indicates that he's just not logged-in)
- accept: <function> plain old accept function.

If there's no fail-method given, passport.socketio allows every not-critical-failed connection.
Also there is now a `logged_in` `<Bool>` inside your User-Key.