Improve the tests for ‘--exclude-tags’ to clarify its precedence

This patch introduces a separate collection of tests for running
Busted with ‘--tags’ and ‘--exclude-tags’ at the same time.  It also
adds multiple tags to one test so that we can demonstrate that
‘--exclude-tags’ always takes precedence.  For example, consider the
following test:

    it("tests database creation #database #longtime", function ()
        -- ...
    end)

It is reasonable for the user to want to run all tests tagged with
‘#database’ but exclude those tagged with ‘#longtime’ so as to skip
tests that would eat up a lot of time and resources.  In this
situation the command

    busted --tags="database" --exclude-tags="longtime"

will prevent Busted from running the example test.  The changes to the
tests in this patch help clarify that behavior.

Note well that we do not treat this situation as an error.  There are
legitimate situations where a user may use ‘--exclude-tags’ and
‘--tags’ to refer to different tags which happen to match the same
test, e.g. the example above.  However, we still consider it an error
for the same literal tag to appear with both options, e.g.

    busted --tags=database --exclude-tags=database

and the test suite checks for this user error.

Signed-off-by: Eric James Michael Ritz <lobbyjones@gmail.com>