Leave him. I only had to read your original post to know he is not in love with you.
I know it hurts, but it will pass.
First off, its all about him. He thanked you for everything you do for HIM, and for being the friend HE needs? Thats appreciation of sorts, yes, but its not exactly love.
I am wondering just what all it is you are doing for him. Are you being a wifey without being a wife? Don't do that.
Second, the term friend is NOT okay in romance. A husband telling his wife she is also his best friend IS NOT the same as a guy saying it in a new relationship.
A husband has already chosen his wife as the woman above all women, so to then say to her that she is also his best friend, it is very sweet. But for a boyfriend and girlfriend? No.
Third, and this is key. Look how he reacted when you brought up your feelings and needs. Did he seek to comfort you? No. He invalided you, dismissed your feelings, and attempted to confuse you and make you feel alone. His words and actions indicate separateness, not connection. Is this the behavior you'd expect from a man who loves you? Whether he is "in love" or not?
Fourth, and now this is the best part!
You trusted your gut! Good for you!
Even when people wrote on here that the friend comment was ok, YOU knew it wasn't. You paid attention to your feeling sense. Always, always, always trust your intuition.