Man that's a big old can of worms you have opened :>
There are lots of things it would be good to have in a library.
You sound like you already know the basics, but from the multi-player games I have written there are a hell of a lot of gotcha's that need to be avoided.
The client server model is a nightmare when you don't fully understand network latency and the inequities of broadband connections.
Just look at the mess that was Call Of Duty.
So what do I think you should create.....
Well secure connections over UDP would be a good start. With packet loss detection and handling.
State synchronisation would be nice.
A whole huge can of worms wriggling all over the place