Check type of passed command

Previously, we documented that the `cmd` parameter to `Process.new` (and related
commands) was an Array of Strings, but did not verify that an Array was passed.
Unfortunately, due to the behavior of Ruby's splat operator, this would just so
happen to Do The Right Thing (tm) and magically mostly work, until it hit a
NonZeroExit or similar.

This patch checks that `cmd` is an Array to sidestep this problem. This is an
incompatibilty with Python, but is probably worth the extra type safety and
explicitness.

Fixes #5.