Added optimization: now Scorer saves previously calculated scores in a
hashmap so they can be reused if the network is revisited.  Makes the
program much faster.