The obvious thing to do is seek professional assistance, starting with a child psychologist and / or a family therapist.
For the most part he behaves fine out in public (or when he knows he's being tested). But once he gets home he's an absolute terror.
I am not a parent but had experience raising a family members child. I was also a "problem child" similar to your description (probably worse).