Implement support for excluding tests based on tags

This patch introduces a new command-line option, ‘--exclude-tags’,
which allows to user to skip any tests that have the given tags.
Syntactically the option is the same as ‘--tags’, but semantically it
is the exact opposite.  There are situations where the user will not
want to run every test.  For example, if certain tests are
time-consuming or use a lot of resources then the user may want Busted
to ignore those tests.

It is an error for the user to use the same tag name in both ‘--tags’
and ‘--exclude-tags’.  We treat this as an error under the assumption
that the user made mistake when invoking Busted.  Logically it makes
no sense to tell Busted to include and exclude the same tests at the
same time.

This patch resolves #193.

Signed-off-by: Eric James Michael Ritz <lobbyjones@gmail.com>