* Remove` Pry::Config::Default`
* Remove `Pry::Config::Memoization`
* Remove confusing use of `instance_eval`
* Add `Pry::Config.defaults`
Returns an instance of `Pry::Config`, initialized with Pry defaults.
Replaces the previous role of `Pry::Config::Default`.
The pry-rails prompt uses `pry.config.prompt_name` but assumes it
will always be a string and never tries to `.call` the object, which means
we can end up with a prompt like this:
[2] [vagrant][development] #<Pry::Config::Lazy:0x000000000fde07b0>(main)>
This commit solves the problem for pry-rails and other prompts who make
the same mistake by calling `.call` for them, automatically, upon read from
a config object.
The commit also removes the issue where every prompt has to deal with `prompt_name`
being a string / Proc-like object then acting accordingly.