Add a Module#module_function spec
Fix Module#module_function on Class
Simplify a Module#included spec
Add a Module#append_features spec
Add a Module#extend_object spec
Fix Module#{append_features,extend_object} on Class
Add Module#prepend_features specs

related ruby/ruby#376
Fix Module#prepend_features
Add a Module#prepend spec
Fix Module#prepend visibility
Write a Module#prepended spec
Fix Module#prepended visibility
Add specs for StringIO#gets and multibyte strings
Fix String#gets for multibyte strings
Add specs for match data matches and taint / untrust status
Add String::encoding_from helper to propagate encoding

This propagates encoding information to a new string from a source
string. This is used for example when creating a substring from a string
to keep information like ascii_only and valid_encoding around.
Infect strings with taint / untrust status for regexp matches
Move method into right place in kernel for Rational

This wasn't exposed before since the specs loaded the library version
which set up the correct version. We need the correct version in the
kernel and not from lib.
implement rb_str_new5 (rb_str_new_with_class)
add spec for rb_str_new5