- Fix: removed extra memory allocations
- PHP7: eio_custom now throws Exception in ZTS builds, because Zend API is inaccessible from a custom thread in ZTS PHP7 builds
(there is a lack of Zend API to access TSRM thread-local data from a user thread). Some extensions(particularly, pthreads)
invent their own(rather hacky) ways to overcome the problem. However, IMHO, this should be implemented within Zend API itself.

Change: eio_init() deprecated. Will be removed in future. We use pthread_atfork() to re-init eio after a fork
Add: phpt test for the fork support
Fix: tsrm_ls is not initialized in php_eio_init()
Fix: EFD_NONBLOCK and EFD_CLOEXEC used despite the flags were not available until kernel 2.6.7. For the old kernels we call fcntl.
Refact: set FD_CLOEXEC flag for file descriptor opened with eio_open()
Refact: no need to copy zval when passing request resource to eio_grp_*()
Fix: eio_grp_*() didn't initialize eio automatically

Fix: eio_write() wrote garbage when 'str' arg passed by ref in a nested call with 'use' keyword
Fix: eio_write() wrote garbage when 'str' arg passed by value
Add: eio_init(). You must call eio_init() before using Eio in a forked child process.
Change: Cut 'st_' prefix in result of eio_*stat for the sake of simplicity and better 'compatability' with stat()
Change: Cut 'f_' prefix in result of eio_*statvfs
Add: eio_get_last_error()
Add: eio_req resource argument as the third optional callback argument
Add: phpt tests for the changes since 0.5.0b
Removed: warnings having no much sense even in debug mode
Refact: no separation for callbacks

Change: libeio is now embedded, no need to install it separately
Change: functions call info and call info cache used instead of zvals
Fix: segmentation fault on 32-bit platforms with the default 4-bit LFS

Change: mutex switch that used in communications with libeio replaced with
eventfd; the same descriptor exported to userspace to bind with existing
event loops
Add: eio_get_eventfd function to get eventfd descriptor
Add: header checks in configuration
Change: libeio initialization moved to the MINIT phase, but unfinished
requests are still handled in the RSHUTDOWN phase
Change: simplified libeio callbacks