Merge pull request #2457 from razielgn/stringio-initialize-encoding-fix

StringIO: when initialized with empty string use its encoding.
Fix String#start_with? for 2.0
Fix String#end_with? for 2.0
Merge pull request #2461 from kachick/2.0-string-start,end_with

Fix String#{start_with?,end_with?} for 2.0
Fix String#codepoints for 2.0
Add rb_intern2 and a stub for rb_intern3
Tests for rb_intern2 and rb_intern3
Tests for rb_intern3 are tagged in 1.9 and 2.0 modes
Merge pull request #2441 from sodabrew/rb_intern3

Stubs for rb_intern2 and rb_intern3
Fix missing header inclusion for symbol specs
Fixed installing with language mode changes.
More language mode cleanups.
Silence warnings compiling openssl C exts.
Added missing paths.h
Silence warnings compiling zlib C exts.
Removed generated C-API config in 2.0 mode.
Don't clean generated paths.h for now.
Generate C-API headers regardless of language mode.

We need eg oniguruma even in 1.8 mode because Encodings are used
(will be used) to implement 1.8 KCODE.
Add 2.0 C-API headers in ext_helper.
Remove unused rb_str Rubinius specific functions

rb_str_update() also collides with an actual Ruby C-API function, also
see #2459.