This reverts the changes for sitedir and only keeps the changes to rubyarchhdrdir for headers. That last one needs to point to the C-API headers since C extensions depend on that and was the reason also for the original change. We should also add actually making these directories so they are actually available. We didn't do this even before this change.
With our latest release its more likely that rubinius will get more users trying it. When something goes wrong we instruct people to submit a crash report using the `rbx report` tool, this was however broken as it needed to be updated for working with latest github api v3.
We use actual files so that they will be found from the $LOAD_PATH if other things (like rubygems) override #require. This also gives us the ability to provide a meaningful error message that explains how to install the standard lib gem and what to do in the confusing situations where a gem is installed but GEM_HOME or GEM_PATH are messed up.
This together with the revert of 9741608 makes sure that timeouts work properly without spurious interrupts. The spurious interrupts where caused by a new timeout request being scheduled and triggering a reschedule. This would cause the sleep timeouts to be updated, but also for the new request. This means the new request already had time subtracted before a timeout really happened. The fix therefore is to only add the new request after we've handled sleep time updates. Fixes #2499