I know I said the opposite yesterday, but looking at this it seems silly to deep copy the header every time we copy a Sam -- that is very expensive and has little benefit. I think we need an implementation that never copies the header at all unless the user explicitly invokes the SamHeader copy construction/assignment.