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
Avoid integer overflow when dealing with very large systems
Merge branch 'master' of https://github.com/SimTk/openmm
Merge pull request #581 from peastman/master

Avoid integer overflow when dealing with very large systems
Fixed an overly strict test case
Merge branch 'master' of https://github.com/SimTk/openmm
Merge pull request #582 from peastman/master

Fixed an overly strict test case
Fixed uninitialized memory error when using multiple GPUs
Merge pull request #583 from peastman/master

Fixed uninitialized memory error when using multiple GPUs