At least 20 people have been killed after unidentified gunmen stormed an upscale hotel in the Somali capital, Mogadishu,