initialization: use getrlimit(2)/setrlimit(2) to enable core dumps

using exec(2) is potentially insecure, as it depends on an outside utility.  the most robust way
to enable core dumps is to set the resource limits inside the program.