Implemented Dispose pattern for both Buffer and BufferEvent with no finalizers. The user should ensure Disposed is called when no longer needed on the main EV Loop thread.
Removed redundant IntPtr allocation in Buffer.cs.
BufferEvent delegates now saved as private fields to prevent the GC collecting these. Otherwise the native code calls back to dangling pointers.
Added bufferevent_set_timeouts.
Fixed ConnectionListener not providing correct IPEndPoint for new connections. Tested OK on Ubuntu.
Added EventSyncContext to provide a means for running an EV Loop and for posting other work you want run on the same thread.