Workarounds for devices whose maximum workgroup size varies between kernels
Bug fix to selecting workgroup size for findInteractingBlocks()
Merge branch 'qc' of https://github.com/peastman/openmm into qc
Fixed an error on platforms where the maximum workgroup size can vary between kernels
Merged changes from main branch
Merge branch 'master' into qc
Preliminary support for ARM/Android.
Merge remote-tracking branch 'origin/master' into qc
Optimizations to the NEON versions of round(), floor(), and ceil()
Further cleanup and optimization to NEON vector operations
Additional CMake changes to support Android
Made ordering of improper torsions more consistent.  Also fixed a bug related to Drude particles.
Fixed an error in the computation of Drude screening force
Merge remote-tracking branch 'origin/master' into qc
Throw OpenMMException instead of std::runtime_error
Began creating API for programmatically building and editing ForceFields
Improved API for modifying ForceField
Small fixes:
    - Adjust CharmmPsfFile parser to accept multiple blank lines before the
      NATOM record (I saw 1 PSF file like this... not sure how common it really
      is)
    - Removed the shebang line from element.py and removed execute permissions--
      it should never be executed directly (evidenced by the fact that the
      original shebang line was wrong and would never work, anyway).
    - Fix a test to determine if a Bond is part of an Angle in the PSF data
      structures.
Added start of automated conda packaging of openmm-dev.
Updated .travis.yml