Ensure fail() is called when provided in cases where no cookies are present in the request header

In the current version of socket-io.sessions, any fail() callback provided by the caller is ignored/bypassed when a request is made that doesn't include any cookies in the headers. This results in the caller being unable to handle this failure condition (in my particular use case, I still want to permit the socket to be created, even when authentication fails, just with no permissions in the backend except for login/registration actions).

This one's a pretty quick fix, though; this pull request adds the fix (that's been working well for me in my project so far).