make __setArrayAllocLength pure and sometimes nothrow
compress __setArrayAllocLength implementation
align gc_* functions in rt/lifetime.d and core/memory.d

also makes them pure and nothrow
make assumeSafeAppend pure and nothrow