US senator John McCain has died of brain cancer