Make object path resolution more robust (fix #957)

This fixes #957 and should make object path resolution more predictable
in general. Instead of splitting the path on "/" before doing any
parsing, we use `StringScanner` and `complete_expression?` to scan
through the string looking for complete slash-delimited Ruby
expressions.

It also turned out that separating the code for handling "-" from the
path-resolution code simplified things a lot. It doesn't really make
sense for "-" to be in there anyway, since paths like "foo/-/bar" don't
mean anything.
Merge pull request #1203 from pry/fix-957

Make object path resolution more robust (fix #957)
Verify that setting Pry.input avoids loading Readline

It's kind of unfortunate that just passing the `input` option doesn't
also do this, but it's not obvious how to fix it without major
refactoring of the command history.
Expand windows ANSI check to include MRI 2.1

Presumably any version >= 2.0 is OK.
Remove deprecated hooks API

It's been around for a long, long time. It's time to get rid of it.
Merge pull request #1209 from kyrylo/remove-deprecated-hooks-api

Remove deprecated hooks API
CHANGELOG.md: link to the actual issues

Only for the upcoming release.
Delete Guardfile

Because the dependency was removed in October, 2013.
SHA: 29372e328c666361cba72e25db5ca6f4c9762464
Delete unnecessary comment-outed `binding.pry`.
Merge pull request #1213 from yui-knk/fix-typo

Delete unnecessary comment-outed `binding.pry`.
Stop using compatibility aliases for Pry.config
Move to a fall-through config hash.

This is somewhat easier to understand than the current solution,
but does have some downsides: namely it doesn't work for things like
Pry::Hooks.

It is however the only way I've thought of to let setting
Pry.config.color = work in addition to _pry.config.color =.

For now I've added a hack so that hooks work as they did before,
in future we should work out how to fix them so that only the data
for hooks is stored in the config object, not the hooks object itself.
Inject _pry_ into Pry::Editor
Use _pry_ for consistency
Use _pry_.config in prompts
No Pry.config in easter eggs
No Pry.config in Pry::Indent
Remove occurrences in repl
Make it clearer that we're copying from config to config
Start using Pry::Code#highlighted

Before this change the watch command was broken because Pry::Code#to_s
contained ansi codes which it passed into eval.