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