Hang in there. I'd suggest you some specific training on the issues that most concern your flat-mates. You should most of it when they are out, and then ask them to help with it. Let them know that you are training your dog and that things should get better soon.
Regarding the barking when eating, find a place where you can put a mat or dog bed (a towel is good). Put treats on it and practice having him go there with your command (go to bed or go to mat). Work with him several times a day. This is handy for when people come and knock on the door too, to keep him in one place.
After he's got the mat idea, you can move it around. Put it about 5-10 feet from your dining area, have him go there, and then you should sit down and eat something. If he leaves the mat, put him back on it. While he's on the mat, toss him a treat once in a while, and tell him "good boy." I trained my dog to sit right outside the kitchen door while I'm cooking by tossing him treats when he was in the spot I wanted him. He got nothing if he came to me in the kitchen, but he got treats if he stayed outside. Once your dog has learned these things, ask your friends to help. Have them toss him treats during a meal. Ask them to use exactly the same words you use. Eventually you can skip the treats.
Also, I'd suggest you look on the Internet for training videos. There is so much available that you can do on your own. Just be sure to choose positive methods, not punitive ones. There are bad and good training videos out there.
Good luck. I hope you'll come back and tell us how he does. And post a picture. We all like to see each others dogs!