'Returns the score calculated from the current problem state.
Operates by creating a new correctness map based on the current
state of the LCP, and having the LCP generate a score from that.'

def calculate_score(self):

    new_correctness = self.lcp.get_grade_from_current_answers(None)
    new_score = self.lcp.calculate_score(new_correctness)
    return Score(raw_earned=new_score['score'], raw_possible=new_score['total'])
