@Lee Huffman From my standpoint as a contractor, it is my responsibility to make sure I give a correct number to get a project completed. There are times when I may forget to add some sort of material, or extra labor that my be involved that I forgot to account for, but that is my problem. In my bids I state it will cost $XXXXX to complete x, y, and z. On the other hand, I do have a note in my formal bid that says project time and cost may change with unforeseen site conditions. For example if we open up a wall and there is rot or insects that may change the price of the job. It kind of depends on what the contractor is charging you for.
I have seen contractors try to price gouge customers for many reasons and a lot of the time its the contractors fault. Either they wanted the job bad so the low balled it, hoping for the best. Or they are a contractor that never makes any money unless they change order the heck out of the customer.
I would mix @Ibrahim Hughes and @Marshall Downs suggestions and first see if you and the contractor can come to what you feel is a " fair " agreement. If nothing can happen in a reasonable time, call an attorney. One note tho, no one wins in a pissing match.