lazy load readline through Proc defined on Pry::Config::Default.

closes #1107
closes #1081
closes #1095
improve error message on failure to require 'readline'.

references #1095
re-raise LoadError (part of #1081)
remove reference to 'Readline' from if condition in tests.
update Pry::REPL to not assume Readline is loaded.
visit instance of 'Pry' through delegate.
Fix completion spec for Ruby with editline
Merge branch 'master' into lazy-readline

Conflicts:
	lib/pry/repl.rb
Remove order dependency between :input and :completer procs

This required switching Config::Default to use instance_eval instead of
call so that config procs can reference each other. I also brought over
a couple of copy changes from 0-9-12-stable.
Check if Readline is defined before getting screen size
Don't assume Readline is loaded in auto_resize
Initialize History lazily, make it work without Readline
add spec/integration/readline_spec.rb
integration/readline_spec.rb => isolation/readline_spec.rb
update .travis.yml
fix build on MRI1.9, 2.0.0
eager-load 'completer' via Default in completion_spec.rb
confirm 'Readline' is made available on Pry.start().
mention pry-coolline as an alternative when 'readline' is unavailable.
update CHANGELOG.md