Restructure pipeline exceptions and interlocks.

Prior to this commit, interlocks and exceptions could step on each
other at certain points and cause issues. This commit seperates the
two faults into discreet events and handles them properly.