gen_header gen_python: recognize more types

Not needed yet, but we will use these new types soon.
Require explicit constructor name in libneubot.json

Allows to implement classes that have more than one constructor,
which is something that we will need soon.
Add the connection module described in my PhD thesis
Add regression tests for connection and protocol
Add the stringvector module

This module is helpful to implement connect_hostname()
in the connection module.
connection: Implement connect_hostname()
connection: implement IPv4/IPv6 (also with preference)

By default, we prefer IPv4 over IPv6; however, if the family
is PF_UNSPEC6, we prefer IPv6 over IPv4.
connection: implement SSL support (client side only for now)
connection: Implement steal_fileno_()
connection: Implement enable_read() and disable_read()
connection: make connect_hostname more smart, while there for consistency always use PF_INET and PF_INET6
Ongoing work
Merge pull request #4 from alessandro40/v3-bug-fixing-20140505

Reorder and clean commits starting from the release of v3.0.0, compared with the new branch based on v3.0.0