At least 32 civilians have been killed, and 63 others injured, in a suicide bomb attack on a beach hotel in Somalia.