make "spring test" support multiple arguments

"spring test" needs to accept multiple arguments if guard-minitest is
to ever have a chance of supporting spring.
make "spring test" run all unit tests when given no arguments

With no arguments, it now defaults to running all test-unit tests it
can find, i.e. files matching test/**/*_test.rb.  This is more useful
and arguably more intuitive too.

We need to remove test/performance/browsing_test.rb from the Rails app
being tested, otherwise "spring test" attempts to run this when it
iterates over test/**/*_test.rb, causing a failure due to ruby-prof
not being installed.

Signed-off-by: Adam Spiers <spring@adamspiers.org>
Fixed README for preload files configuration
Merge pull request #122 from miyagawa/fix-readme

Fixed README for preload files configuration
Merge pull request #102 from aspiers/test-multi-args

make "spring test" support any number of arguments
Added `Spring::Commands::Rake.environment_matchers`

This is for matching rake tasks to specific environments.

Closes #86.
Rails is not loaded for config/spring.rb
Copyediting the README

mostly the configuration section
Merge pull request #123 from turadg/patch-2

Copyediting the README
Print output when assertions fail

This should help with figuring out intermittent CI failures
Fix race condition

The pidfile could be deleted between when we check that it exists and
when we try to open it, causing an ENOENT error. So just try to open it
straight away, and rescue the ENOENT.
Kill the spring server when the Gemfile or Gemfile.lock changes

This ensures that on the next run of a command, the correct bundle is
loaded, or the user sees the correct error message if they have
forgotten to bundle install.

I explored options for making this smarter, such as trying to
automatically restart the server with the new bundle loaded, but it just
got complicated. For example if we did this but there was an error with
the bundle, we'd want to somehow silence that error but show it to the
user on the next run of the command.

In the end I think that changing the bundle happens infrequently enough
that it's acceptable to just kill the server.
Fix breakage / warnings caused by listen 1.0
Increase default timeout on CI

This failure https://travis-ci.org/jonleighton/spring/jobs/6857030 has
the expected stdout, yet it got a timeout error, so I wonder if Travis
was just being slow and it hit the timeout. To be sure, use a longer
timeout on the CI.
Add clarification about relationship between spring and bundler binstubs

Closes #63
Make Spring.watch work inside config/spring.rb

Fixes #131, closes #132
Make ListenWatcher optional closes #128

By default spring is configured to watch_via [`listen`](https://github.com/guard/listen) is available spring will use that, alternatively spring can be configured to use `:listen`, `:polling`, or a`CustomClass`.

```ruby
Spring.watch_via = :polling
```
Explicitely ask for ::Rails

I was experiencing a bug where rails was not loaded, and I was getting
an error about being unable to find Spring::Application::Rails, this
will remove that ambiguity for anyone else.

Change-Id: I017a596b5b606d7bc6913f30068a85df4a4948f8
Use a Listen's API method that was here before 1.0
Update the README regarding Listen