Add $0 special case handling

Reading from $0 should always return 0, and writing to $0 should be
completely ignored (i.e., not even generating a noop instruction).