Robin Cook resigns from cabinet over Iraq war