Tweak and Refactor Pry::Terminal

The biggest behavior change is to favor `io/console` (but still not when
on jruby). The previous favorite was `Readline.get_screen_size`, but
that thing is stale just like the env. The only reason it gets updated
is if you put `Pry.auto_resize!` in your `~/.pryrc`

The next change is more error handling in `Pry.auto_resize!`

Otherwise I renamed `TerminalInfo` to `Terminal`, which is something
andrewvos and I discussed way back when `TerminalInfo` first came about.

The rest was a little Extract Method stuff, no biggie.
Fix documentation rendering edge-cases [Fixes #795]

Also added some notably absent tests
Add support for pry --gem

I am always doing pry -I./lib -r<gemname>.
Terminal: don't let Readline return [0, 0]

Some of the tests from "spec/commands/ls_spec.rb" were failing on
Rubinius and 1.9.2. The problems was introduced by this commit:

  (Tweak and Refactor Pry::Terminal)
  fc522f837a59fe2003c667a48860529610d6f7d8

The problem is that `Readline.get_screen_size` can return `[0, 0]`.
That's not good, because it breaks a couple of our tests (table output
stuff). But now...

          .o( ...it is fixed. Twit-twoo! )
    \{0,0}/
BaseHelpers: add `#jruby_19?` method

And remove some naive comments.
WrappedModule#candidates: return Array on JRuby >=1.9

JRuby 1.9 has a nasty bug with `Enumerator#find_index`, which we utilise
in the code of `whereami` command.

More information on the bug: https://github.com/jruby/jruby/issues/525

Simply return an Array, formed from the original Enumerator on JRuby 1.9
and higher. This kills the efficiency, but leastwise, it will be
working.

As a bonus, remove some a junk method.
Add ruby-head to Travis
No more ree
Long live REE!

See:
https://github.com/travis-ci/travis-ci/issues/883#issuecomment-13047516
correct_indentation ignores readline \001 & \002 sequences