Update rufus-scheduler to ~> 3.0

Update rufus-scheduler gem to require a version which is greather (or
equal) to 3.0 and less than 4.0.

Note, some tests are failing, but I need help on solving them so I'm
commiting this anyway.
Addressing warning from redis-namespace related to `#unwatch`
detail the current master in the web UI
add Tom Crayford to AUTHORS
reload_schedule! returns nil with no job in queue

The reload_schedule! method invoked in update_schedule returns nil if no
more job is in the queue. Access the schedule Hash instead.

Fixes #430
Use constant and helper to load erb search_form.
This DRYs up the code a bit, and ensures it doesn't break when this gem
is used in concert with New Relic's ruby agent, which futzes with
__FILE__.
Change recommended way of loading schedule

When schedule is loaded in resque:setup task, all resque process irrespective of if they are the scheduler or not will try to reload the schedule. 

Not only is this an unnecessary overhead, but it also causes a race condition in setting the schedule which was fixed recently in #439. Since this fix is not yet available on rubygems, it best to tell user to only run one instance of the scheduler and do it like this.
Requested changes
Update cli.rb
Update cli.rb

Added the pipes.
A round of modernizations incl. rubocop & pidfile cleanup
Removing bundler version restriction

as it is not a common source of false-y positives, and pinning it is breaking CI atm
Reduce ruby version matrix a touch
Replacing custom pidfile cleanup with at_exit block

and removing the in-process test.  Best effort is best effort.
Tweaks to travis config now that we're green
One more rubocop autogen
Merge pull request #459 from resque/modernization-sweep

Modernization sweep
Bumping version to v3.1.0 & adding history notes
Merge pull request #460 from resque/v3.1.0-prep

Bumping version to v3.1.0 & adding history notes
Trivial trailing whitespace removal

[ci skip]