Fix possible problems when parsing some CHARMM stream files that may not have
the same format as the rest of the CHARMM stream files I've seen.
Redo the way CHARMM PSF files are parsed.  This should be much more robust in
terms of supporting PSF files that don't really conform to the "standard" way
that CHARMM prints them.

The downside is that it relies on ! comment tags which I think are comments for
CHARMM.  However, the use of !NATOM and !NBOND and other tags seem to be _much_
more conserved than the general format of the PSF file across different dialects
of PSFs.  So the current approach should be more flexible.
Merge pull request #577 from swails/fix_charmm_psf

Fix charmm psf