Setup global symbol for respond_to_missing
Retry algorithm for when sysconf() fails

This uses a default buffer of size 2048 and does a retry if this is too
small. It also throws a proper exception if any other error happens. The
default of 2048 is based on defaults also used in FreeBSD itself:

http://lists.freebsd.org/pipermail/freebsd-bugs/2011-October/046141.html

Since there is no GC possible for the getpwnam_r call, we don't have to
use a pinned ByteArray. There is no gc lock guard here or a gctoken
passed down, so it can move during this system call. We also can use a
non zeroed version since it's written to immediately anyway.
Introduce creating a dirty Tuple

This can be used for cases where after the tuple is created, immediately
values are set. This results in not having to set all entries to nil
first if they are overwritten afterwards.
Add Array::create_dirty to use when setting elements immediately

In the interpreter we create array's in a bunch of places and
immediately set values, such as with make_array. This create_dirty
method allows for creating an Array with a dirty Tuple so we don't set
the data unnecessary twice.