Use exec to run tests to preserve exit code
"Fix" build on 1.8 by avoiding method_source flakiness
Progress on gist + jruby crash
Workaround Jruby Readline bug
Fix ls formatting spec error
Move history pushing before command execution

This separates out concerns a little better, and paves the way for
extracing process_command from retreive_line.
Move handling logic out of retrieve_line

retrieve_line will no longer modify eval_string, w00!
Factoring sorted run into 'rake recspec'
add Pry::WrappedModule#super

It's useful having Pry::WrappedModule and Pry::Method share as much interface as possible so that
methods can be indifferent to which one they get (a la show-source / edit)
rake gemspec
Fix ^D press in nested REPLs

The interesting moment is that `cd -` is still a bit dorky.

  [1] pry(main)> _pry_.repl :a
  [2] pry(:a):1> _pry_.repl :b
  [3] pry(:b):2> cd -
  [4] pry(:b):2> cd -
  [5] pry(:b):2>

The problem is that `_pry_.repl` pushes a new binding onto
`binding_stack`, however, it knows nothing about `old_stack`.

Well, there is a workaround for this.

  [1] pry(main)> _pry_.repl :a
  [2] pry(:a):1> ^D
  [3] pry(main)> cd -
  [4] pry(:a):1> cd -
  [5] pry(main)>

Fix "undefined method `old_stack=' for nil:NilClass" error in this
commit, when you press ^D in a nested REPL. Add a test case for this.
Rewrite some comments and old Control-D units tests (so they use newer
test API).

Signed-off-by: Kyrylo Silin <kyrylosilin@gmail.com>
Ensure running commands in multiline exprs works
Shove everything into r()
Push catches down into re()
Reset @suppress_output each time through the loop
Manage binding_stack in r() too!
Don't print a newline at EOF unless interactive
Fix failures in pry_defaults_spec
Remove extra newline from output specs [Fixes #34]
Stop using rep in pry_spec.rb