[System.IO.KeventWatcher] Introduce enums with the KEvent flags and constants

This merely introduces a more readable version of some of the constants that
were hardcoded on the source code.

There is a suspect value "20" that was on the original source code, that
stands for VNodeLink and VNodeExtend, but perhaps the original author
meant to say VNodeRename.   In any case, it seems like we should catch all
of them (except for Revoke).