odds 0.2.26

Odds and ends — collection miscellania. Extra functionality for slices (`.find()`, `RevSlice`), strings and other things. Debug checked variants of `get_unchecked` and `slice_unchecked`, and extra methods for strings and vectors: `repeat`, `insert_str` and `splice`. Things in odds may move to more appropriate crates if we find them.
Documentation

extern crate odds;
extern crate itertools;

use odds::string::StrExt;

#[test]
fn rep() {
    assert_eq!("".rep(0), "");
    assert_eq!("xy".rep(0), "");
    assert_eq!("xy".rep(3), "xyxyxy");
}

#[test]
fn prefixes() {
    itertools::assert_equal(
        "".prefixes(),
        Vec::<&str>::new());
    itertools::assert_equal(
        "x".prefixes(),
        vec!["x"]);
    itertools::assert_equal(
        "abc".prefixes(),
        vec!["a", "ab", "abc"]);
}

#[test]
fn substrings() {
    itertools::assert_equal(
        "αβγ".substrings(),
        vec!["α", "αβ", "β", "αβγ", "βγ", "γ"]);
}