adjusting for changes in getSolution() output.
adding lock to SessionState after restoring from file.
fixing a couple of things related to ExactCover.solution: initializing it properly in solve() and syncing in correctly with state.solution.  Also passing solution in to Coverings constructor.
updating python interface to cxx to use getState function for periodic state
moved num_solutions increment just prior to yield self.solution
using getState() all the time when saving state.  Moved num_solutions+=1 to solve from format_solution
cleaned up some badly written python.
checking for None solution before writing state.
adding back solution assignment ( never should have been removed ).
when saving state after solution found, explicitlt passing the solution that was found to the save function
assigning solver state to ExactCover.solution when there is no solver solution.
added a comment
decreasing num_solutions in state before saving.  Needed to get solution counts and indices right.
merged with origin