move code quality tests to xt/

xt/ is the preferred place for "extra tests" that should not be run by
users and therefore potentially impact the installability of the dist.

Additionally, since they are only run on-demand, we can assume the
person running it has installed the modules they require.

Fixes #100938
whitespace and consistent code formatting

This commit removes all trailing whitespace, converts all tabs to 4
spaces (reindenting code as necessary), and ensures space consistency.

Fixes #100935
update the manifest

This is one of the build artifacts that should probably be better
generated by Dist::Zilla
update Makefile.PL with more modern EUMM features

Now we can specify things like BUILD_REQUIRES, CONFIGURE_REQUIRES, and
TEST_REQUIRES, so we can make test-only requirements that get handled
correctly.
use new Test::More features

subtest and done_testing make tests cleaner and easier to write. It does
require Test::More 0.99 though.

Fixes #100937
fix invalid overload test

I don't know how this ever worked, but it certainly didn't test what I
thought it did: setting path to an object that could be stringified.
make sure test tempdirs are automatically cleaned

While doing this I found a fun thing: FSEvents always show the real
path, after resolving any symlinks. The Cwd::abs_path function has to be
used to find the real path. Doc patch forthcoming...

I reduced some of the timeouts to make the tests a bit faster, but not
nearly enough. I also had to add another sleep because the event queue
sometimes goes slightly back in time.

I rearranged t/06flags.t to make it easier to ensure the right tempdir
is being kept around for the appropriate tests. The end result was fewer
lines of code and a more linear flow.
consolidate and reorder tests

When we moved tests into xt/ it left a hole in the numbers. I also
combined two test files and deleted one that is simply skipped (it's
always in the git history if we need it again).
remove dependency on File::Slurp

We were only using it in a test, and there's a way to force FSEvents
using just File::Temp.
explicitly define all dependencies

And remove one that we don't need anymore
add docs about the flags available

A short blurb about the flags so users know what they do. The Apple docs
are a bit hard to navigate when the API presented by this module is so
different.

Fixes #100941
move flags into constructor arguments

In addition to allowing a bitfield of flags, now we allow constructor
args with the flag names. This way, users don't need to import the flag
constants into their package, and they don't have to know how to
construct a bitfield.

Fixes #100940
add note about symbolic links in watched paths

If the watched path is part of a symbolic link, the event path will not
appear to be in the watched path. The event's path will be the real
path.
add watching multiple paths at once

Now we can watch on any number of paths at once, making things a bit
easier and more efficient.

Fixes #100939
upgrade ppport.h

I tried to use av_top_index() like perlapi says I can, but it turns out
this was added in 5.17 and does not work on the 5.12 I tested it on.

ppport.h is the correct way to get new perlapi calls on older perls
remove unnecessary gitignores

No need to ignore these now that tests don't create them.
Merge pull request #5 from preaction/master

The Cleanup Stuff (and now everything else too)