greenie 0.4.0

Green threads and coroutines in stable Rust
Documentation
# greenie
Simple green threads in Rust programming language.

# Features
- Generators in stable Rust!
- Synchronization primitives: `Mutex`,`Condvar` others will be implemented later ( see TODO ).
- Fast.
- Semi-automatic scheduling using `greenify` macro that inserts yield points in your functions.

# TODO
- Preemptive scheduling
- Implement FIFO schedulign algorithm
- Implement `RwLock`.
- Futures


# Example
Condvar and Mutex example:
```rust
use greenie::channel::*;

use greenie::{greeny_main, Fiber};
#[greeny_main]
fn main() {
    let chan_1 = Channel::<&'static str>::new(2);
    let chan_2 = Channel::<&'static str>::new(2);

    let fping = Fiber::new_capture(
        |chan_1, chan_2| {
            chan_1.push("ping");
            println!("{}", chan_2.pop().unwrap());
            chan_1.push("ping");
            println!("{}", chan_2.pop().unwrap());
            chan_1.push("ping");
            println!("{}", chan_2.pop().unwrap());
        },
        (chan_1.clone(), chan_2.clone()),
    );
    let fpong = Fiber::new_capture(
        |chan_1, chan_2| {
            chan_2.push("pong");
            println!("{}", chan_1.pop().unwrap());
            chan_2.push("pong");
            println!("{}", chan_1.pop().unwrap());
            chan_2.push("pong");
            println!("{}", chan_1.pop().unwrap());
        },
        (chan_1.clone(), chan_2.clone()),
    );

    fpong.start().unwrap();
    fping.start().unwrap();
}
```
For more examples read [documentation](https://docs.rs/greenie/) or `examples/`