RFC: support other protocol families

I'm studying how to modify this module to support other protocol families apart from `AF_UNIX` while still using `SOCK_DGRAM`. I have 2 options: 1) copy most of the code from this module and replace the functionality related to AF_UNIX . 2) Try to make most of the code independent of the protocol family so any protocol family can easily be added.

Does this sound reasonable? Does trying #2 make any sense?

In this PR I've tried to accomplish this for bind, connect and sendto. I'm still trying to figure out a simple way to implement the reception. What do you think?

Thanks