Trigger rebuilds when OTP compiler version changes
This fix is done in three parts:
1. Add the compiler version to the data tracked in the DAG, and extract
it from source file (when the DAG isn't around) for comparisons. Then
on each build job, check for the compiler version as a build option
like every other one.
A change in compiler version represents a change in build options,
which triggers a rebuild
2. Make it work for plugins. This requires more work because plugins
that can find their ebin/ dir are assumed to be pre-built. Rather
than undoing this, poke at 1 single beam file in their ebin/ dir
and check if their compiler version matches ours to do an additional
filter round. This is likely to be faster than reanalyzing the whole
app, but a bit more brittle in the long run.
3. Make it work for deps. This currently is done with copy/pasted
plugin code that needs to be reworked later if this is shown
to be an acceptable extra step.
This patch also includes a fix on the path pruning for plugins, which
mistakenly subtracted AppInfo records from file paths; the intent was
to use the ebin dir as a comparison, which this patch fixes.
No tests have been added at this point.