Most of the situations you list can be dealt with by means of a good contract and communication with the client before the job starts. Don't assume they are aware that you need to keep a steady workflow going; lay it out for them. Most folks are pretty accommodating when they understand that.
Holidays in the middle of the schedule? Work it out with the client before you start the job. Then hold them to it.
If you flat-out screwed up and can't get things done on the schedule you cooperatively planned with the client, it's time to eat humble pie (and maybe a few dollars) and work it out with him.
Holidays in the middle of the schedule? Work it out with the client before you start the job. Then hold them to it.
If you flat-out screwed up and can't get things done on the schedule you cooperatively planned with the client, it's time to eat humble pie (and maybe a few dollars) and work it out with him.