robert pattinson in pirates of the caribbean