Add failing tests for `SystemCommand`
In `SystemCommand`, fix `success?` and `exit_status`

When invoking a `SystemCommand` with `:must_succeed => false`, the `SystemCommand::Result` class would mistake a `Process.Status` object for a `Fixnum`.

This commit fixes this by instantiating `Result` with the actual status code as a number.
Merge pull request #7895 from claui/fix-system-command-exit-status

In `SystemCommand`, fix `success?` and `exit_status`