BUG: Return last *matching* named capture instead
BUG: Return last *matching* named capture instead

MRI 1.9 and up to 2.1 returns the last *matching* index for a named
capture group that is present multiple times in the same regex.
Rubinius, on the other hand, returned the *last* index, even if it did
not match.

Example:

  regexp = /(?<word>foo)|(?<word>bar)/

  # MRI
  regexp.match("bar")[:word] # => "bar"
  regexp.match("foo")[:word] # => "foo"

  # Rubinius
  regexp.match("bar")[:word] # => "bar"
  regexp.match("foo")[:word] # => nil

Implementation uses #reverse_each chained with #find to find the last
non-nil match. Perhaps it would be more performant to loop manually, or
by rejecting every nil match and then taking the last one. I did not
feel that I wanted to benchmark this to any great length, so I left the
implementation that was shortest but didn't access all matches when it
wasn't neccessary.

Fixes #2721

benlovell/rubinius,jsyeo/rubinius,pH14/rubinius,kachick/rubinius,sferik/rubinius,jemc/rubinius,ngpestelos/rubinius,heftig/rubinius,kachick/rubinius,jsyeo/rubinius,sferik/rubinius,mlarraz/rubinius,kachick/rubinius,sferik/rubinius,sferik/rubinius,ngpestelos/rubinius,jemc/rubinius,pH14/rubinius,pH14/rubinius,dblock/rubinius,ruipserra/rubinius,dblock/rubinius,ruipserra/rubinius,jemc/rubinius,ngpestelos/rubinius,benlovell/rubinius,pH14/rubinius,mlarraz/rubinius,kachick/rubinius,benlovell/rubinius,benlovell/rubinius,Azizou/rubinius,heftig/rubinius,jsyeo/rubinius,Azizou/rubinius,ngpestelos/rubinius,digitalextremist/rubinius,digitalextremist/rubinius,pH14/rubinius,kachick/rubinius,ruipserra/rubinius,digitalextremist/rubinius,kachick/rubinius,Azizou/rubinius,heftig/rubinius,jemc/rubinius,Wirachmat/rubinius,dblock/rubinius,benlovell/rubinius,sferik/rubinius,heftig/rubinius,heftig/rubinius,ruipserra/rubinius,Wirachmat/rubinius,digitalextremist/rubinius,dblock/rubinius,digitalextremist/rubinius,pH14/rubinius,jsyeo/rubinius,ruipserra/rubinius,Wirachmat/rubinius,jemc/rubinius,Wirachmat/rubinius,ruipserra/rubinius,ngpestelos/rubinius,kachick/rubinius,mlarraz/rubinius,pH14/rubinius,dblock/rubinius,Wirachmat/rubinius,benlovell/rubinius,Wirachmat/rubinius,heftig/rubinius,mlarraz/rubinius,dblock/rubinius,Azizou/rubinius,sferik/rubinius,jsyeo/rubinius,ngpestelos/rubinius,mlarraz/rubinius,digitalextremist/rubinius,Azizou/rubinius,Wirachmat/rubinius,jsyeo/rubinius,benlovell/rubinius,Azizou/rubinius,ruipserra/rubinius,jsyeo/rubinius,ngpestelos/rubinius,jemc/rubinius,sferik/rubinius,kachick/rubinius,mlarraz/rubinius,heftig/rubinius,Azizou/rubinius,jemc/rubinius,digitalextremist/rubinius,dblock/rubinius,mlarraz/rubinius