Make warnings show the right line number

As discussed in issue #1446, JRuby warnings (or at least some types of them) were always reporting a line number that was one greater than reality.  This pull request fixes the issue and adds a regression test.

There were two places in `RubyWarnings.java` (one deprecated) where the code was explicitly printing `lineNumber + 1` instead of `lineNumber`.  I think we should have a convention where the term "line number" is 1-based and we try to use that everywhere.  If we have to use a 0-based number for a line it should be called a "line index" and it should have lots of comments about how it is not actually a "line number".

Unfortunately, my change might cause some other type of warning to have line numbers that are too small by one.  I might look into setting up Eclipse so I can find all references to that code and make sure they are passing in proper line numbers instead of line indices.

I also tacked on a third commit that removes some unused code from `ThreadContext.gatherCallerBacktrace`.  I found it while looking for the bug.  I hope that's OK!