Makefile.in: from version 0.1 to version 1.0

This commit bumps the API and ABI version numbers, because I am
going to break both the API and the ABI.
poller: return status_t in defer_read and defer_write

This commit changes defer_read and defer_write in poller.c to return
a status_t rather than a NeubotEvent structure.

As a result, the NeubotEvent_cancel method is no longer needed.

I am making this change, because I don't need the cancel functionality
and also because I need a simpler API to implement the automatic
wrapping of the C classes more easily.
poller.c: simplify NeubotEvent_dispatch() implementation
libneubot.json: never pass void_p to the C code

Always pass Object (i.e., py_object) to the C code, to simplify
the task of interacting with the C code from Python.
poller: pass opaque, not pollable, to NeubotPollable_callback
libneubot.json: add hooks, slots and __destructor__

1) Add to the type model two new types: the hook and the slot.

The hook represents a state-less slow operation that invokes
a callback of an object when the event occurs.

For example, defer_read receives ["hook_vo, ["handle_ok",
"handle_timeout"]], which in C is expanded as follows:

    ... neubot_hook_vo handle_ok, neubot_hook_vo handle_timeout,
        void *opaque

As you see, when the hook is expanded in C, we add the opaque
object to which the callbacks make reference.

The slot is an hook that is the argument of a constructor of
an object, which allows you to extend the basic C object by
telling it what to do when some event occur.

The difference between a slot and a hook is in the implementation:

The slot, in fact, saves the context in the constructor of the
object, therefore the saved context and the object have the same
life cycle.

Conversely, the state of the hook is a closure (which includes
the functions(s) to be called and the opaque pointer) that is
destroyed after the hook is called.

By the way, hook_vo means "void hook that receives an opaque
object", and hook_vos indicates that the hook also receives
a second argument that is a C string.

I added the hooks and the slots, because they helped me to
implement more easy to use wrappers for Python, which I will
commit in one or two commits.

2) Add the __destructor__ special function, which indicates
that a function is a destructor.  This feature, again, is
needed to implement better Python wrappers.
Add gen_python, libneubot1.py and test_*1.py

Gen_python is the improved Python code generator that we use to
generate the libneubot1.py wrapper library.

Libneubot1.py is a library that provides better (especially,
easier to use) libneubot.so.1 wrappers.

Test_*1.py are regression tests that use libneubot1.py.
Fix NeubotPoller_resolve() closure bug

The bug is well explained in the committed comment.

This patch breaks the API (but we don't care because we
have already broken both the API and the ABI).

While there, ensure that we always call the callback.
Add gen_cxx that generates the C++ wrappers in neubot.hh
Release LibNeubot 1.0.0
Merge branch 'release-1.0.0'