Decode #send symbols the same way as regular symbols.

Symbols must be decoded using raw bytes, so that we can match
MRI logic. In MRI, symbols are unique to their raw bytes rather
than their logic character content, which allows differently-
encoded Strings to map to different Symbol objects, and those
Symbol objects can preserve their original encoding.

decoding of the bytes, which caused multibyte strings to map to
a different Symbol object via send than via other mechanisms like
String#to_sym or parsing. I attempted to make all Symbols decode
properly, but this breaks the above-mentioned MRI compatibility.

This change modifies all #send paths to decode incoming strings
the same way as symbols in the rest of the system, so they will
dispatch to the same-encoded symbolic name.

Note: This does mean that multi-byte identifiers throughout the
system are often represented as their raw byte form rather than
their proper encoded form, and the resulting Java String will
sometimes be unintelligible. Until we can find a way to support
real decoded symbols and maintain compatibility with MRI's raw
byte representation of symbols, we can do nothing to prevent this.

Fixes #736 and potentially other symbol-related issues.