* Commands now completely manages 'help', so that 'help' returns full command list/doco and 'help cmd' returns doc for just that command
* Turned out.session_start() and out.session_end() into hook methods: Pry.hooks :before_session, and :after_session
* Refactored Pry#initialize, so no longer individually setting accessors and hash options, instead using ConfigOptions to iterate over accessors and set their default value to Pry.send(accessor_name)
* TO DO: rewrite tests in terms of new program structure, since they're all failing due to major change (not because functionality is lacking but due to assumptions tests were making about program structure)
* defined input/output accessors for Pry class to set global defaults for input and output (overridable by specific instances).
* Added reset_defaults method to set input/output and prompt lambdas back to defaults
* added output callback for 'cd' command
* changed eval_string += val to eval_string << val in Pry#r method, for performance reasons (no copy made with <<)
* removed exit_at alias for jump_to, now only jump_to is valid
* updated documentation
* added another format for pry method, can now use 5.pry or pry(5)
* added bunch of new nesting functionality
* added input/output accessors instead of binding to stdin/stdout
* added _ for last result
* changed command format (no more sigils)