Strategy-Proof Resource Allocation with Punishment