0.0.20.14 - Exact-target foliage terrain guard correction

Observed issue:
0.0.20.13 correctly limited replacement attempts to the exact death-ejecta target, but the target helper used the wrong 1.20.1 SRG method as its air test. BlockState.m_60815_ is canOcclude(), not isAir(). This caused solid occluding terrain such as grass blocks and dirt to be accepted as occupiable targets.

Fix:
- SurfaceInfestationTargetCompat.canOccupy now uses BlockState.m_60795_ (isAir) for the normal empty-target path.
- Actual foliage/crops still fall through to SurfaceInfestationCompat.isSurfacePlant and can be overwritten at the exact selected landing position.
- Solid terrain is no longer accepted merely because it can occlude.
- No radius vegetation clearing, delayed jobs, or item drops were reintroduced.
- Farmland conversion remains restricted to farmland directly beneath a successfully placed infestation surface block.
- Xaero compatibility is unchanged from the working 0.0.20.13 build.
