William Marshal, medieval England's greatest knight