RFC: Implement the Waymarking as an independent utility

Hello devs,

I am proposing to export the Waymarking algorithm from the Use class to an independent utility. This is useful for using it in other places, if needed.

I have created a review https://reviews.llvm.org/D69332, but I think it should have been more appropriate to start from the llvm-dev mailing list (too late for that - sorry about that, I am a new contributor).

The patch in the review, is an implementation that I am using for quite some time, for a personal project. Its need came from the requirement to use the algorithm for other purposes than the Use class.

I thought it could benefit others as well.
In any case, such a general algorithm deserves to be in the ADT library and not embedded into a specific usage. This way we also separate those logics from the Use class.

Note that, this is an improved version of the waymarking algorithm currently present - which combines the STOP flag with the Offset’s digits. Further explanation available in the header file, attached in the patch for review.

Please share your thoughts about it.

Thanks,

Ehud.