Remove more unnecessary usage of &block from kernel classes

As per ad47350, creating a Proc for the block that's passed into a
method incurs a performance penalty. This commit removes a few
occurrences of methods defining a &block argument without using it.
Add specs for Unicode character and script properties
Always retry parsing Regexp with original pattern encoding

Also means we can remove 1.8 mode conditional logic, yay!

Fixes #2317
Include -g at the start so we compile vendor/ stuff with debug symbols

This makes debugging issues in the vendor libs easier because we have
debug symbols for them as well.
Better to_string VM method for Encoding
Updated vendor/oniguruma to 3fde175c.
Update Regexp for new Onigmo types

Fixes #2370
Merge branch 'master' into concurrent_gc