This merge request makes a lot of changes for DataFlowMask:
- Changes several functions with 
O(n^2)performance toO(n)wherenis the number of vardecls and arguments.- I had a real-world use case with n = 60k, which didn't compile in 4 hours time. Now it compiles in 12 minutes.
 - This performance issue was around since before my birth :)
 
 - Refactors most functions to have less code duplication.
 - Solves a bug where a mask generated by DFMgenMaskSet gets extended with zeroes instead of ones after the mask base expands.
 - GREATLY improves documentation, which was pretty much non-existent.
 - Adds DFMsetMaskXor/DFMgenMaskXor functions to act as the symmetric difference set operation.
 - Partially co-authored by @sbs, thanks for the help!