Cristiano Ronaldo has beaten Lionel Messi to the Ballon d'Or for the second successive year.