Implements a Static Code Analyzer (SCA) that uses the ASM framework
for interpreting Java bytecode of Flink UDFs. The analyzer is build on
top of ASM's BasicInterpreter. Instead of ASM's BasicValues, it introduces
TaggedValues which extend BasicValue and allows for appending interesting
information to values. Interesting values such as inputs, collectors, or
constants are tagged such that a tracking of atomic input fields through the
entire UDF (until the function returns or calls collect()) is possible.
The implementation is as conservative as possible meaning that for cases
or bytecode instructions that haven't been considered the analyzer
will fallback to the ASM library (which removes TaggedValues).