Rework connection workflow
- Add onHandshake, called when it's safe to log on
- Actually log on in SteamClient::LogOn, rather than save the credentials and connect
- Remove connect callback - it's now the backend's responsibility to connect
- Expose server list
- Update steamuv and steampurple appropriately