Bidrectional iterators

Build Status Documentation

```rust use bidir_iter::*;

let a: &[i64] = &[1, 2, 3]; let mut iter = a.bidir_iter();

asserteq!(iter.next(), Some(&1)); asserteq!(iter.next(), Some(&2)); asserteq!(iter.next(), Some(&3)); asserteq!(iter.prev(), Some(&2)); asserteq!(iter.prev(), Some(&1)); asserteq!(iter.prev(), None); assert_eq!(iter.next(), Some(&1)); ```