Replace debugger with byebug in Ruby 2

The `debugger` gem hacks into the Ruby core and doesn't support Ruby 2
very well. `byebug` is a modern debugger that makes use of new APIs in
Ruby 2 for debugging. Also, `debugger` gem is broken in Ruby 2.1.2
(cldwalker/debugger#125).

Since `byebug` only supports Ruby 2, `debugger` still needs to be used
by Ruby 1.9.

There is no need to explicitly require the library as Bundler does that
automatically, unless specified as `:require => false`.

With this change, instead of calling `debugger` in the code to start the
debugger repl, call `byebug`. More docs at
https://github.com/deivid-rodriguez/byebug

Tested:
- Ruby 1.9.3, 2.1.1, 2.1.2
- manually using byebug to debug
Merge pull request #1462 from zhangsu/use_byebug4ruby2

Replace debugger with byebug in Ruby 2