Process NOTIFY events in reception order.

Repeatedly popping them from the notify list caused observer functions to be
called in reverse order. Instead, iterate over the list directly and clear it
out at the and.

Noticed by Max Walton, though I didn't use his patch.

Fixes #31.