Msg receive timeout

for review, it's currently based on the swtimer branch, I will rebase this as soon as swtimer is back in master