Only overwrite pass_block if there's a value

This prevents pass_block from being overwritten with nil which happens when the superclass has (non-matching) routes.

This bites in development as Sinatra::Base registers "get '/__sinatra__/:image.png'" only in development mode, so everything works fine in production but not in development.
loosen dependency for rack, so it runs with Rails 3.2
Improved self-hosted server.

- Will now stop the self-hosted server _and exit_ the program on INT and TERM signals.
- No more multiple Sinatra messages on multiple signals.
- Stopping/quitting a server possible using .quit! and without the need of the actual server and handler_name.
Simplify and Improve readability on some conditions
Merge branch 'master' of github.com:sinatra/sinatra
Merge pull request #1 from scudelletti/self-hosted_server

Simplify and Improve readability on some conditions
Update .travis.yml
Fixed typo
Merge pull request #718 from doems/master

I just fixed a typo
allow rbx-19mode to fail again
Adjust #accept? to check if type is included in #preferred_type

- 960 tests, 2083 assertions, 0 failures, 0 errors, 0 skips
Merge pull request #723 from anachronistic/adjust_accept_query_behavior

Adjust #accept? behavior to return boolean
bump version
update changes
set date
1.4.3 release
Fixes accept? to match wildcards in HTTP_ACCEPT.
Test for explitily setting layout true

See #727

If the default options for a template include :layout => false, it
should be possible to override this in the explicit options to the
rendering method.

e.g.

    set :slim, :layout => false

    get '/' do
      slim :index, :layout => true # should render with layout
    end
Allow overriding :layout => false with true

Fixes #727

The :layout option for templates controls both which template should be
used as the layout and whether a layout should be used at all.

If the default options for an engine include :layout => false, then
passing in :layout => true in the call to the render method shouldn't
use false as the value of :layout, it should fall back to
@default_layout (the "default default").
Added an example on how to share a cookie through a subdomain.