Ensures that loading pry inside config doesn't explode
Merge pull request #1118 from richo/features/recursive_pry_hack

Ensures that loading pry inside config doesn't explode
specify 'nil' default in config_spec.rb (don't fallback on Pry.config)
return an instance of Pry::Config from Pry.current.
require 'config/*' dependencies through require_relative.
add Behavior#{==, eql?}. compare equality through lookup table.
add tests.
return false when argument does not implement #to_hash.
duplicate Hash returned by Behavior#to_hash (prevents outside-mutation)
forgot to set an explicit default of `nil`.
update CHANGELOG.md to include #1118.
use a dynamic class name in Behavior#inherited_by().

covers:
class Foo
  include Pry::Config::Behavior
end

foo = Foo.new(Pry::Config.new)
foo.inherited_by(Object.new)
fix backwards logic in exception message.
update CHANGELOG.md to include #1096
delete the backtrace to avoid storing it on `_pry_.config`.
add Behavior#keys.
delete .ruby-version
Remove Foreman hack from 5f3b5857fc94f0237ecd0440069cf34cc6aed86a
Merge branch 'master' into lazy-readline

Conflicts:
	lib/pry/repl.rb