Remove unused methods from profiler
Extract thread timing logic out into util function
Use monotonic increasing timer for timing

This is better since it is not affected by things such as an NTP time
sync etc.
Removed obsolete extensions:clean task.
Fix timing handling on Linux
Setup ensure_pinned before marking as RString

This ensures that we see the dmwmb pointer and rstring ptr in sync in
another thread. Otherwise one could have been set while the other was
still not.
Fixed bad merge for 2.0 Time#inspect.
Fixed using psych in only 1.9+.
Merge remote-tracking branch 'origin/master' into compiler

Conflicts:
	lib/tooling/profiler/profiler_vm.cpp
Untag passing spec and remove file
Add spec for IO#write return value with multibyte strings
Fix return value for IO#write
Merge remote-tracking branch 'origin/master' into compiler
Reduced likelihood of race in require specs.
Use configured gem command.
Added --bundle option from heftig.
Fixed overwriting configured tools.
File.expand_path maintains the encoding of the path arg
Merge pull request #2579 from anupnivargi/file_path_encoding

File.expand_path maintains the encoding of the path arg
Don't assume byte length equality means ascii only

The string can still contain non ascii characters in the 128 - 255
range.