Fixes only allow modifications to local file containing the diagnostics,
with CodeActions we'll be able to provide changes that can fix the issue
outside of the local file (e.g. build file/header modificiations).
As an implementation detail, we now covert all the fixes to codeactions
directly at publish time, rather than onCodeAction requests. So this
implies some extra copies on each diag release.
we keep broadcasting fixes and actions separately to keep embedders that can't handle codeactions happy.
we can start emitting just codeactions here by converting fixes to codeactions in this layer (all we need is fileuri, and we have it). then embedders can still iterate over all code actions and pick only the edits for mainfile while ignoring the rest.