config: clusters contain "hosts" instead of "host" and several improvements

main improvemnts:
- more work on config canonical pf writing (and thus hash id)