More on Sockets and FinalizableOnce

Additionnal notes:
* `FinalizableOnce` will probably be the most common `Finalizable`, but it wouldn't cover all cases.
* Remove some unused features from `socket` to make it compatible with Android.
* Fix an illegal extern class by making it a pointer.
* Do not `exit 1` on socket error.