Charter bus rollover kills 3, injures 18 outside San Diego