What Graduate Training in Computational History Should Look Like