fix: functions are now unique types and require casting to function pointers

This is a [breaking-change] for users of the `quickcheck` function, you'll need
to explicitly cast the bare function to a function pointer. For example:

``` rust
fn prop(xs: Vec<int>) -> bool { /* .. */ }

// Change this line
quickcheck(prop)
// into this
quickcheck(prop as fn(Vec<int>) -> bool)
```
Merge pull request #46 from japaric/fn

fix: functions are now unique types and require casting to function pointers
Put the `collect-rs` dependency behind a "collect" feature