add support for Ev extension (libev)

Brought https://github.com/reactphp/react/pull/178 inline with current branch.  Fixed unit tests.  added additional unit test for periodic timer.
I was wondering why fetching the library from its repository when [it's available on PECL](http://pecl.php.net/package/ev), but when I tried installing it via PECL on my computer I received this message:

```
downloading ev-0.2.12.tgz ...
Starting to download ev-0.2.12.tgz (96,837 bytes)
.....................done: 96,837 bytes
could not extract the package.xml file from "/build/buildd/php5-5.5.9+dfsg/pear-build-download/ev-0.2.12.tgz"
Download of "pecl/ev" succeeded, but it is not a valid package archive
Error: cannot download "pecl/ev"
Download failed
install failed
```

Is this the reason why you prefer cloning from the repository, or is it just my dev environment acting weird?