There are very few situations in which time and materials is appropriate. Typical would be jobs that are unusual and cannot be estimated accurately (curved work, angled work, unusual materials, etc.), jobs with a lot of concealed conditions, and jobs where the design is not complete but work must start anyway. Your project doesn't sound like any of these. Your contractor sounds like a guy who is afraid or otherwise unwilling to sit down and estimate carefully and come up with a fixed price. Your experience is typical: a likely price is named, and then exceeded substantially.
I still have a CA contractor's license although I have not lived there in a few years. I have heard things to the effect that T&M is no longer legal, but I don't know the details. The Contractor's State License Board website says this:
http://www.cslb.ca.gov/consumers/cons_hicontracts.asp
It does not say specifically that T&M is not legal, but it does say that jobs over $500 must be governed by a written contract, and that the contract must include the price. There may be other info on the site, but I haven't looked everywhere. It would appear that they at least frown on T&M contracts.
Your situation is easily resolvable and will require playing hardball. You can threaten to file a complaint with the CSLB, and you can threaten to file a claim of fraud against the contractor's bond. Neither of those things require legal action on your part, and the threat of both will probably get you what you're owed quite quickly. I would probably send the contractor a clearly written letter stating your intention to do both by X date, and give him a week to get it done. Your complaint to the CSLB would be that the contract was improper, the maximum price was exceeded, and that the job was not finished. Your complaint to the bonding company would be that the contractor defrauded you by charging money and failing to provide goods and/or services for that money.
You will absolutely be burning a bridge if you take this route. I had to do it once with a sub I had on a job there. He did a roof replacement that leaked and damaged the house. We repaired the house and sent him a bill that he refused to pay. I threatened to go to his bonding company and he paid. It's ugly stuff.