Rename and renumber DT_MIPS_* to DT_RISCV_*
Initialize gp from within dynamic linker

Sometimes, calls from shared objects' init functions (e.g. static construction
of C++ objects) will make use of the executable's PLT.  In these cases, we
must initialize gp before the exectuable even has a chance to run.