create node settlement extension

This extension can be used to decide where to attach a newly created
node.
Ok, I'll move them there. BTW, what is your stand on custom exceptions ? Should I really create them or should I stick to `RuntimeException`s and friends ?