Do not save node on allocate if already node is already allocated

This fixes an issue where the save call done for the allocation is
racing with the save call of a state transition for the same node.

It's not optimal for sure, though.
Merge pull request #686 from vuntz/allocate-once

Do not save node on allocate if already node is already allocated