linker: only keep rtl exception tables if they have been relocated
Move where we save the exception sections so that when we get to free we know it must have been valid.
Also decided on rw or rx mapping based on the oc's attribute rather than kind. previously we'd make the exception tables RW accidentally.
Fixes #21354 (closed)