variantly 0.4.0

Derive helper methods 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() {
    assert_eq!(Int(123).unwrap_int(), 123);
}

#[test]
#[should_panic]
fn single_value_tuple_panic() {
    Unit.unwrap_int();
}

#[test]
fn multi_value_tuple() {
    assert_eq!(TestEnum::new_tuple(123).unwrap_tuple(), ("123".into(), 123));
}

#[test]
#[should_panic]
fn multi_value_tuple_panic() {
    Unit.unwrap_tuple();
}