Let right-click handler override seed placement

A customer on_place_node is used for seed planting. This change lets a
node with a custom right-click handler get called instead (as it would
normally) before the seed placement is done. This allows the placement
of seeds in various contains that rely on this, e.g. barrels, item
frames, without impacting on the actual use of the seeds.

Additionally, on_place_node the handler is moved to a common location
rather than being duplicated across every file.