variantly 0.1.0

Derive associated functions for enum variants that are familiar from `std::option::Option` & `std::result::Result` such as `unwrap_or` or `and_then`.
Documentation
mod helper;
use helper::{
    TestEnum,
    TestEnum::{Int, Unit},
};

#[test]
fn single_value_tuple() {
    // Match
    assert_eq!(Int(123).or_else_int(|| 456).unwrap_int(), 123);

    // Non-Match
    assert_eq!(Unit.or_else_int(|| 456).unwrap_int(), 456);
}

#[test]
fn multi_value_tuple() {
    // Match
    assert_eq!(
        TestEnum::tuple(123).unwrap_or_else_tuple(|| ("456".into(), 456)),
        ("123".into(), 123)
    );

    // Non-Match
    assert_eq!(
        Unit.unwrap_or_else_tuple(|| ("456".into(), 456)),
        ("456".into(), 456)
    );
}