Derive macro for quickcheck::Arbitrary.

Expands to calling Arbitrary::arbitrary on every field of a struct.

```rust use derivequickcheckarbitrary::Arbitrary;

[derive(Clone, Arbitrary)]

struct Yakshaver { id: usize, name: String, } ```

You can customise field generation by providing a callable that accepts &mut quickcheck::Gen. ```rust

[derive(Clone, Arbitrary)]

struct Yakshaver { /// Must be less than 10000 #[arbitrary(gen(|g| num::clamp(usize::arbitrary(g), 0, 10000) ))] id: usize, name: String, } ```

You can skip enum variants: ```rust

[derive(Clone, Arbitrary)]

enum YakType { Domestic { name: String, }, Wild, #[arbitrary(skip)] Alien, } ```