James McCarthy has retired from inter-county football, bringing to a close one of the greatest and most successful careers in the game.