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 enable_read() and disable_read()
connection: teach connect_hostname about IP addresses

While there for consistency always use PF_INET and PF_INET6.
Merge branch 'cleaning-v3.1-20140512' into pu

I reoreded patches created by @bassosimone to create a stable version
of the Connection class.
connection.cpp: fixes after code audit
connection.cpp: fix readline()

Requested by and OK @bassosimone.
Teach libneubot.py about Connection's static constructors
connection: implement write_rand()

This method can be used to write a number of random bytes, through the
LibEvent function evutil_secure_rng_get_bytes(). By doing this, it is
possible to avoid unnecessary copies of data.
connection: implement write_readbuf(), puts_readbuf() and write_rand_readbuf()

These methods write data directly into the read_buffer. In this way, it is
possible to simply test the behaviour of the write/read part, without the
creation of a real connection.
Add self_connection.py to test write/read part of connection module

This test uses puts_readbuf() and write_readbuf() to write data directly
into the read_buffer. Subsequently it reads them through read() and readline().
Rewrite connection.py test using libneubot.py API
libneubot.{json,py}: s/slot_foo/handle_foo
Remove unused variable in Connection::attach()
Merge pull request #8 from alessandro40/pu2-20140526

Prepare Connection for LibNeubot 3.1