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')
```
So basically revert 0b46807 and only have 3d5653e?

I added the optional newline code because of a failed test (AppTest#test_binstub_upgrade [../test/acceptance/app_test.rb:224]). I'll make the changes and fix the failing test.