split listen to setupSync and listen

Hi Scott, I ran into a situation where my own code initializes socket.io with 

`var io = socketio.listen(server);`

but I still would like to use backbone.io. I moved out a part of to the `listen` function to a separate function `setupSync` (not sure about the name here). This allows me to just call `setupSync` from my own code and pass io as a parameter.

I'm not sure if this is the best way to handle it. Perhaps another way would be to refactor `listen` function and check if `io` is attached to `options`?

Anyway I wonder what do you think about it?