I know how you feel. My almost 4-yr-old does this. They will "test your/their limits" probably until they leave the house. I think being patient, praying and lots of love are key. I think it is really hard for us (especially dads) to get down on our knees and be at their level and talk through whatever the issue us. (the toys, dogs, bed are probably not the real issue... it might be attention or anger at something else completely) Hold his face, hug him. Many things are going to be attention-getting schemes. Don't let the negative be rewarded, just positive (constantly complementing good behavior) although this is hard and sometimes you feel silly. When I am frustrated and yelling, or on the verge of yelling, I get down on my knees. It's hard to yell that close, easier when you are towering over him. Show him the same respect you expect from him, and he will start to learn. As far as getting out of bed, we (fortunately) have never had that issue... knock on wood!
After yelling, we also find it is important to tell him we do not like yelling at him, or getting upset with him and that it makes us very sad. We humble ourselves even in these situations and apoligize to him, showing by example that he cannot treat us disrespectfully, and we should not disrespect him either. Hope this helps!!