Improve SampleIDMismatchError message

Now reports the observed vs expected sample IDs mismatch.
Add whitespace stripping to from_file
Fix placement of period in error message
Add real file handle support to from_file