Allow arbitrary setup code to be inserted into binstub

This commit is designed to be the first step to solving this [issue](https://github.com/jonleighton/spring-commands-rspec/issues/18).

The pull request would allow the [spring-commands-rspec](https://github.com/jonleighton/spring-commands-rspec) gem to be changed to:
```ruby
# lib/spring/commands/rspec.rb

module Spring
  module Commands
    class RSpec
      def env(*)
        "test"
      end

      def exec_name
        "rspec"
      end

      def gem_name
        "rspec-core"
      end

      def binstub_code
        "RSpec.configuration.start_time = Time.now"
      end
    end

    Spring.register_command "rspec", RSpec.new
    Spring::Commands::Rake.environment_matchers[/^spec($|:)/] = "test"
  end
end
```

The generated rspec binstub would then be:
```ruby
#!/usr/bin/env ruby
begin
  load File.expand_path("../spring", __FILE__)
rescue LoadError
end
RSpec.configuration.start_time = Time.now
require 'bundler/setup'
load Gem.bin_path('rspec-core', 'rspec')
```
It isn't a `NUL` byte. `'\0'` or  `"\\0"` in the replacement string of `#sub` inserts the match from the regexp into the resulting string. I first saw it in [thor](https://github.com/erikhuda/thor/blob/master/lib/thor/actions/inject_into_file.rb#L56). It is also in the "Search And Replace" section of [this site](http://www.regular-expressions.info/ruby.html). Perhaps replacing `"\\0"` with `"end"` would be better?