Shell profits hit record $31 billion in 2007