Negative search patterns

Allow prefixing a target with ^ in order to exclude packages that
match it while searching.