LuaSocket is documented in the official "Programming in Lua" book and is used in various web projects like Kepler, so it's probably a good choice.
Threading isn't an easy concept for new developers, so it's best if you add it on your own if you really want it. Lua has coroutines which are great for gaming, you just need to become familiar with them. I suggest reading this article, though it's on Stackless Python, the concepts apply over:
http://harkal.sylphis3d.com/2005/08/10/ ... ss-python/
Maybe you just need a simple scheduler in your main game loop?
It's unlikely that a 2d game needs to support multi-core, and even if so, it would make more sense to offload graphics/audio/networking to other threads within the engine, and stick to a single process for scripting. Or... there are other packages for parallelizing Lua across processors that use the share-nothing approach and are therefore easier to manage.