Don't use deprecated libevent code

This pull request modifies the Poller implementation not to use deprecated libevent code, as promised during the review of #11.

Working on that, I also realized that the `SIGINT` handler should not be installed when the Poller is created, for two reasons. First, we don't need such handler on Android, we only need it for test programs. Second, in Libevent there could be only one SIGINT handler, so it's incorrect to register such handler every time we create a Poller (or we loop). Yes, we plan to use a single Poller, but it's even better to write correct code that works correctly also when multiple Pollers are instantiated.

To test this pull request, I verified that no new warnings are introduced and I run the `echo_client` and `echo_client_evbuf` tests.
Because I wanted to write just once the code to free the objects, after the `finally` label. I find this more easily maintainable than adding below each error case the code to free the objects that have been allocated so far.

Anyway, if you prefer, we can achieve the same result as follows:

    try {
        if ((foo = alloc_foo()) == NULL)
            throw std::bad_alloc();
        if ((bar = alloc_bar()) == NULL)
            throw std::bad_alloc();
      } catch (std::bad_alloc&) {
        if (foo)
            free(foo);
        if (bar)
            free(bar);
        throw;
    }

Do you prefer something like this?