how long does food poisoning last