Three companies charged in SoCal oil spill