Fix negation bug

This addresses the bug where starting a pattern with `!` was not
respecting negation.

Fixes #62
Fixes #105