Add a getnameinfo() wrapper

This wrapper takes a domain name or an IP as first argument
and a service name or port as second argument.
Either argument may be nil.

It returns a list of names (always only one in the IP case) and a
service name.
Rework makefiles to simplify setting and choosing build options.

Includes documentation for common build settings, reasonable
defaults, and ability to set common build options in the
environment.
Reword error msg to distinguish between service and server

servname is easily confused with "server name", making it seem
as if the server name couldn't be resolved.
Merge pull request #6 from Florob/getnameinfo

Add a getnameinfo() wrapper
Merge pull request #7 from sam-github/fix-makefiles

Rework makefiles to simplify setting and choosing build options.
Merge pull request #8 from sam-github/fix-confusing-servname-reference

Reword error msg to distinguish between service and server
socket.connect now implemented in the C core

This avoid socket.lua duplicating the iteration over the results
of getaddrinfo(). Some problems with the C implementation not
initializing sockets or the luasocket family have also been fixed,
and error reporting made more robust.
Merge pull request #12 from sam-github/fix-connect6-and-do-connect-in-c

socket.connect now implemented in the C core
Improve makefile to allow overriden variables

Before this change, it was difficult to set default
directories for different platforms that would still
work with different Lua versions.
src/makefile: Move mkdir to a variable
src/makefile: Use install instead of cp and mkdir.
tcp: Initialize clnt->family in :accept()

Also unconditionally zero out the structs when allocated, for
good measure.
Add IPv6 support to udp:sendto()
Add IPv6 support to udp:receivefrom()
Merge pull request #14 from Zash/zash-improves-makefile

Use the install util instead of cp and mkdir
Merge pull request #15 from darkrain42/unstable

tcp: Initialize clnt->family in :accept()
Merge pull request #20 from Florob/sendto

IPv6 support for udp:sendto() and udp:receivefrom()
Fixed default Linux path to work with Ubuntu

Also fixed clean target to remove serial objects
Fix HORRIBLE but in b64/qp code.

Bug was caught by user moteus.
Code was checking if arguments was nil after using
luaL_Buffer code, which messes with the stack.
Simple to fix, though.
Add new bug fix comment.