Add basic protection support to builtin

This adds minetest.is_protected(pos, name), minetest.record_protection_violation(pos, name), and minetest.register_on_protection_violation(func(pos, name)).
minetest.is_protected should be overriden by protection mods.
functions registered with minetest.register_on_protection_violation can be used to print protection violation messages and for things like \*shudder\* auto-ban.
It fixes hacky things like this: https://github.com/VanessaE/homedecor/blob/27280bc69929729c72e71742cd24385cd0f9cfc1/init.lua#L33