comm: fix build

It's no longer possible to have a Box<Buffer> due to the new object
safety rules. Wrap in an enum as a workaround.

Fixes #437
shuf: fix build

It's no longer possible to have a Box<rand::Rng> due to the new object
safety rules. Wrap in an enum as a workaround.
Merge pull request #438 from ebfe/fix-build-master

shuf, comm: fix build