use flat_map
Avoid calling define_method with non-english chars in InflectorTest

When we call define_method with non-english chars like ¿por qué? it
errors out on JRuby as of 1.7.4 & would leave out the following error

invalid byte sequence in US-ASCII

To work around this issue, I have switched to define_test method call
define method with fixed string & the index of the hash. the index was
added because otherwise, ruby will raise method redefined warning.

As far as I can see there are no side-effect of this change for
other implementations. For readbility I have added a message to
asssert_equal informing for which word/phase the test has passed.

Before this Change:
JRuby:
Tests terminated suddenly with an error. no reported of Failues
or errors
MRI:
All Green.

After this Change,
JRuby:
the `ActiveSupport` TestsSuite gracefully fails with report at the end which test failed & why.
MRI:
All Green(no change)
Using URI.parser.unescape

Fixes warning

warning: URI.unescape is obsolete
Merge pull request #11735 from arunagw/av-warning-removed-master

Using URI.parser.unescape
Merge pull request #11736 from gaurish/avoid-multibyte-method-define

[JRuby] Avoid calling define_method with non-english chars in InflectorTest
Merge pull request #11730 from neerajdotname/use_flat_map

use flat_map