Jane, I'm so sorry you're experiencing this. I fully well understand how awful this experience must be for you.
I haven't read all the responses, so please excuse me if I'm repeating what others may have suggested.
I would STOP work immediately and contact the Licensing board and explain to them what happened.
Do NOT give him anymore money (cash, checks, etc.). If you have paid him for any work that he hasn't yet done (including cabinets), or any work that has been sub par, I would detain payment for those items as well.
You then need to get your hands on your permits. If this baboon (no insult to baboons intended) doesn't give you YOUR permits, you can always easily attain them at the city. Those permits are YOURS!
I know I had suggested sitting down and talking to him earlier, but after reading some of the nonsense you've gone through, I doubt you will get any place with him. It's important for you to understand that the issues are with HIM not you, regardless of what he says or how he makes you feel.
You need to talk to a few different contractors (with great customer reviews) and have them come in and assess how much it will cost for them to take over the job. I don't think many contractors will be really excited about picking up on some one else's mistakes, but there are a few that will.
Once you get bids for the remainder work, as well as current work needing to be redone, take that to the lawyer and have them draft a 'legal' letter for you and certify mail it to him (signature required).
I've had contractors/workers complain when on the job, and I just send them packing. I really am not interested in giving business - no matter how big or small - to someone who is going to complain though the whole process, OR use the blame game (as has been in your case).
Remodeling is already a very very stressful situation. You don't need any added stress on top of it.
To the person above who assumed this is a 200-300K job for which Jane just picked the cheapest contractor at 100K, and etc. PLEASE stay focused on the OP question and try to assist in lieu of making assumptions or judgements. That's really not necessary!
Jane - please keep us posted.
Q
bath
Q