Additional options

This pull request is based on [fork](https://github.com/mattconnolly/guard-spinach) by @mattconnolly who added the `all_on_start` option and [fork](https://github.com/keyvanfatehi/guard-spinach) by @keyvanfatehi who added the `generate` option.

And my contribution is `command_prefix` which is inpired by the [similar functionality](https://github.com/guard/guard-cucumber/pull/3) of the *guard-cucumber* gem, and some tests. I'm using this option currently in conjuction with Zeus.

### Options

<dl>
  <dt>all_on_start</dt>
  <dd>Boolean. Run all features on start.</dd>

  <dt>generate</dt>
  <dd>Boolean. Auto generate missing step files during each run.</dd>

  <dt>command_prefix</dt>
  <dd>String. Allows you to inject something before the `spinach` command. E.g. `zeus spinach`.</dd>
</dl>

### Example Guardfile snippet

```ruby
guard 'spinach', command_prefix: 'zeus', all_on_start: true, generate: true do
  watch(%r|^features/(.*)\.feature|)
  watch(%r|^features/steps/(.*)([^/]+)\.rb|) do |m|
    "features/#{m[1]}#{m[2]}.feature"
  end
end
```