Try public school to get a free evaluation to see he has autism. Austistic people, dont' like to be touch sometimes, can get moody, and frustrated. Sometimes acts out nothing to do with him, may be because possible being autism. Do some research.
I have, just found out mine is, she's four.
Try healthy vitamins too.Sometimes tynenol aspirin helps, I think they have pains sometimes too, muscle spasms or something. Good diet would probably help.