Obama sacks general over magazine tirade