optimize out table.insert() and ipairs() calls
move perlin1 (perlin_fertile_area) out of the inner loop
(it only needs to be inside the action loop)
local-ize the block cache table
don't bother testing if air check is enabled in legacy
...because it never will be :P
Don't allow registration of actions for undefined nodes
Bugfix: giant tree fern leaves dropping wrong item