Based on what you have written here, it all sounds like normal behavior.
My son, who is also a middle child, had some of the same issues too. He always wanted to be first, to be the winner, to have his own way, etc. When he wouldn't get to be first, he would have a temper tantrum. I talked to him about the importance of taking turns and not always being first. Unfortunately, that never seemed to do any good. What seemed to work best for me is that whenever he got upset about not being first, his consequence would be that he would have to be last. I did this every time he had a breakdown about not being first. When he got upset about not winning, his consequence would be a "time out" to calm down and he would not be allowed to not play any win/lose games for a certain length of time. His time in kindergarten also helped. Now, at 6 years old, going into 1st grade, we don't seem to have these issues as often.
My advice to you would be to just to be firm and consistent. You don't have to yell or be mean, just be consistent with what you choose to be the consequence for his actions. Also remember to pick your battles. If it is something, such as the time with the lint, where he is doing the job, just not your way, then let it go. Trust me, having gone through this stage three times, it will pass in time.
Good luck!