smallbox 0.8.2

`Small Box` optimization: store small item on stack and fallback to heap for large item.
Documentation
#![feature(test)]

extern crate smallbox;
extern crate test;

use smallbox::space::*;
use smallbox::SmallBox;
use test::black_box;
use test::Bencher;

#[bench]
fn smallbox_small_item_small_space(b: &mut Bencher) {
    b.iter(|| {
        let small: SmallBox<_, S1> = black_box(SmallBox::new(black_box(true)));
        small
    })
}

#[bench]
fn smallbox_small_item_large_space(b: &mut Bencher) {
    b.iter(|| {
        let small: SmallBox<_, S64> = black_box(SmallBox::new(black_box(true)));
        small
    })
}

#[bench]
fn smallbox_large_item_small_space(b: &mut Bencher) {
    b.iter(|| {
        let large: SmallBox<_, S1> = black_box(SmallBox::new(black_box([0usize; 64])));
        large
    })
}

#[bench]
fn smallbox_large_item_large_space(b: &mut Bencher) {
    b.iter(|| {
        let large: SmallBox<_, S64> = black_box(SmallBox::new(black_box([0usize; 64])));
        large
    })
}

#[bench]
fn box_small_item(b: &mut Bencher) {
    b.iter(|| {
        let large: Box<_> = black_box(Box::new(black_box(true)));
        large
    })
}

#[bench]
fn box_large_item(b: &mut Bencher) {
    b.iter(|| {
        let large: Box<_> = black_box(Box::new(black_box([0usize; 64])));
        large
    })
}