That link is very usefull, although im not sure how the 'buffer' bones workthat are inside the arm bones?
I have however managed to finaly solve the shoulder stuff, and it seems to work fine now.
I was setting all the bones up pretty much in the right way, apart from not adding a helper bone between the shoulder and collar bone, and two bones in the upper arm. This solves the twisting of the mesh by rotating the helper bone as well as the arm bone. (well it seemed to be the case as far as i can tell)
Thanks for the help.