Move process1 tests from ProcessSpec to Process1Spec

This PR cleans up the tests suite a little bit. It moves all tests of `process1` functions from `ProcessSpec` into a new `Process1Spec` and moves `Arbitrary` and `Equal` instances into a new `TestInstances`. It also introduces a `Arbitrary[ByteVector]` which is used in `CompressSpec` and `HashSpec`.