Add LIST_ delaration to event_struct.h to supplment TAILQ_

Generally, LIST_ can be a little faster than TAILQ_ for most
operations.  We only need to use TAILQ_ when we care about traversing
lists from tail-to-head, or we need to be able to add items to the end
of the list.
Use LIST rather than TAILQ for evmap_io and evmap_signal

These structures used TAILQ for the lists of events waiting on a
single fd or signal.  But order doesn't matter for these lists; only
the order of the active events lists actually matters.
Use LIST rather than TAILQ for evbuffer callbacks

There's no reason to traverse these out-of-order, and we never defined
the order that you'd get your callbacks on an evbuffer if you happened
to add more than one.
Use LIST rather than TAILQ for bufferevent_rate_limit_group members

Once again, there's no reason to keep these lists in the order we were
keeping them in.  Every time we needed to traverse them for any important
purpose, we started at a random point anyway.
Bump version in master to 2.1.0-alpha-dev
Use current event set rather than current pending change when deciding whether to no-op a del

This alters event_changelist_del to quash deletion of events that
didn't exist in the first place.

As far as I can see, the add,delete, dispatch case described in the
original comment will never happen.  The recorded change is a single
operation, not a queue.  This seems to leave actions to delete
events that never existed as the real targets for no-oping
Use GetSystemTimeAsFileTime to implement gettimeofday on win32.

It is (in my benchmarks) way faster than _ftime, though the
conversion process is not so straightforward.  In theory, it can
have a better granularity too, though in practice who knows what
you're getting.
Add event_enable_debug_logging() to control use of debug logs

Previously, debug logs were turned on if you built with -DUSE_DEBUG
and off otherwise.  This make builds with -DUSE_DEBUG hideously slow
and other builds unable to get debug logs.

This is based off a patch by Ralph Castain from October.  It tries a
little harder to avoid needless function calls, it doesn't require
stdbool, and makes the controlling parameter a mask rather than a
boolean so that we can later support enabling only the debugging
messages for the parts of Libevent you're trying to debug.
Replace big chain of if/thens in epoll.c with a table lookup

This should save a bunch of branches by doing instead a lookup in a
nice static table.

To ensure correctness, the table is generated from a Python script,
included with this commit.
Clean up error handling in epoll_apply_one_change() a little

The old code was more or less:
   if (op == X && errno == FOO) {
     ...
   } else if (op == Y && errno == BAR) {
     ...
   }
but really we wanted to do a switch (op) to avoid needless checks
and branches.

This patch leaves the indentation a little weird so as to make it
easier to see what changed; the next patch will fix the indentation.
Reindent epoll_apply_one_change()
Merge branch 'epoll_table_v2'
Add evbuffer_add_file_segment() so one fd can be used efficiently in more than one evbuffer_add_file at a time
Add support for mmaps with nonzero offset values.  Needs testing.
Add CreateFileMapping file_segment implementation for win32
Refactor addfile tests; add test for big files and for offsets
Merge branch 'file_offset_v2'
Add AC_USE_SYSTEM_EXTENSIONS to configure.in.
Requires follow on patches for correctness and robustness.
Filter '# define' statements from autoconf and generate event-private.h
Add event-private.h to noinst_HEADERS