Use Ruby 2.x compatible rescue clauses

Ruby 2.x doesn't support non-class/module arguments to rescue clauses.
Ruby 1.9 only supported it due to what is now considered a regression:

https://bugs.ruby-lang.org/issues/4438

Remove string arguments from rescue clauses to prevent TypeErrors from
being raised during rescue attempts.
Merge pull request #1296 from ironcladlou/ruby2-exception-handling

Use Ruby 2.x compatible rescue clauses
Fix build on rbx (it failed previously)
Merge pull request #1306 from abotalov/fix_rbx_build

Fix build on rbx (it failed consistently previously)
Cleanup save_* family of methods

* Better YARD documentation
* Fix bug in `inject_asset_host` when `asset_host` is set and `base` tag is present
* Make `path` argument of `save_screenshpt` `nil` by default
* Puts generated filename to `$stdout` when `save_page` or `save_screenshot`
are invoked without args
* Add `options` argument for `save_and_open_screenshot`