Start tracking exception data in a header.

This header is stored before the exception object and removes the need
for as many globals as there were previously.