treez

A collection of useful data structures

implemented:

- segment tree
  + usage:
    ```rust
    let mut segments = vec![];
    for i in 0..10 {
        let n = (i*5, 5*i+5, i); //(left_bound,right_bound,segment_id); inclusive bounds
    segments.push( n );
}
let t : treez::seg::TreeSeg = treez::seg::TreeSeg::init( segments.as_slice() );

let check: HashSet<_> = [ 2, 3, 4 ].iter().cloned().collect();
let query_segs: HashSet<_> = t.get_segs_from_bound( (15,20) ).iter().cloned().collect();
println!( "query segs: {:?}", query_segs );
assert!( check.intersection(&query_segs).count() == check.len() );
```