Experimental CEvent -- DO NOT MERGE

@chrisseaton @mighe 

This is another experiment. Much more interesting than `CAtomicFixnum`. On this branch I implemented `CEvent`. The event classes uses a condition variable to signal waiting threads. Not surprisingly, pthread condition wait/signal operations must happen outside the GIL. When run inside the GIL it simply locks everything. So in this example I had to take the performance hit of selectively unlocking the GIL whenever I needed to wait or signal. The benchmark test spawns a bunch of threads that loop forever, waiting on a shared event. It then spawns another thread that sets then resets the event as fast as it possibly can. Since there are two cores on my machine and Java was able to use both it had the fastest time. But the `CEvent` implementation still significantly outperformed the pure Ruby version.

```ruby
# About This Mac
# Processor 2.93 GHz Intel Core 2 Duo
# Memory 8 GB 1067 MHz DDR3

# ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0]
#
# Testing with Concurrent::Event...
#=> 30.000000  73.960000 103.960000 ( 68.789397)
#
# Testing with Concurrent::CEvent...
#=> 18.550000  36.160000  54.710000 ( 39.766862)

# jruby 1.7.11 (1.9.3p392) 2014-02-24 86339bb on Java HotSpot(TM) 64-Bit Server VM 1.6.0_65-b14-462-11M4609 [darwin-x86_64]
#
# Testing with Concurrent::Event...
#=> 24.880000  14.500000  39.380000 ( 25.637000)
```