Move socket.io to optionalDependencies

The default configuration of Pokemon Showdown does not use
socket.io, so it is more appropriately marked as an optional
dependency. This change is largely cosmetic because npm install
will still install optionalDependencies.