This relationship is on the rocks...If he has lied to you it will take a long time for you to trust him. When you care for someone and they lie to you, you stop and think about everything he has said and try to sort out the truth from the lies. I am sure it will come to the point that you do not trust him because you do not know when he is telling the truth or not. It is very hard to have a relationship with someone you do not trust. You say he has not cheated...are you sure? Is that what he told you? Was he telling the truth? If so how do you know? To overcome this will take a very long time and the lies have to stop.
If he can not face the fact that he is in the wrong when he clearly is and wants to blame you it is not a good sign. I have seen these type of guys to start arguments just so they can storm out of the house and go do what they want for the night, then come home and put the blame on their girlfriend. Remember it takes two to argue. Do not fall into that trap. Just ignore him when he starts in and keep yourself calm. Whatever the situation you can respond what you think in a clam voice and be done with it. If this continues I suggest for you to separate for awhile and see other people, It does not seem as he respects you and you need to find someone that does. You do not want to live the rest of your life arguing with a liar, it is a no win situation and happiness will never be the result. I know you said you did not want to leave him but you can not change him and mold him into something he isn't. Please think about what I have said and remember you deserve so much more in your life. Good luck.