Answers limited to what I feel like looking up/typing on a phone
1. They let you send/receive TCP packets. There should be a decent guide on their use somewhere, or I can post an example when I get home
2. Not sure when you mean. Sounds like your looking for clientcmds?
3. They don't really have any default behavior. You can store data and give them a class name and right methods for that class
4. You don't. Either a, see if Badspot posted the source, b, keep an rtb 1.x copy and see if the functions are in there, or c, rewrite it.
5. export("$*","config/vars.cs");
Vars might be reversed, I'm not positive
6. The hardest thing to learn in any language is how to program. Once you've got that, learning anther language is just learning syntax, default functions, etc. Nothing really stands out to me as 'hard'
7. Parent::function name(args);
8. Look into the player persistence add-on?
9. Not sure. Try tracing, or reading your prefs file to see what function is called