* Top level Python module is now "openmm"
* Updated module names in examples
* Updated module names in documentation
* Updated module in CI scripts
* Added deprecation warning
* nbthole
* Update charmmpsffile.py
* Update charmmpsffile.py
* Update charmmparameterset.py
fix multiple dihedral with the same periodicity and add a warning reminder for improper dihedral
* add test example for NBTHole
add system files of CYT-GUA-CYT DNA segment for testing NBThole
* Update TestCharmmFiles.py
* Updated to latest values for physical constants
* Updated documentation on physical constants
* Updated Python unit definitions
* Fixed constants in test case
* Added a comment
* Use list-comprehension in Python code
A minor change, but slighly easier to understand the initialization of
`parent_exclude_list` in my opinion.
* Implement __ne__ in Python classes that has __eq__
In Python 3, `__ne__` is automatically implemented as `not __eq__`.
However, in Python 2 it seems to be implemented as `not is` (so based on object
identity).
Based on setup.py [0] which says that "OpenMM requires Python 2.7 or better", it
should be useful to have better support for Python 2 :)
This was already done in 4 of the 12 classes that implements `__eq__`
```
>>> class WildCard(object):
... def __eq__(self, other): return True
>>> w = WildCard()
>>> w == 42
True
>>> w != 42
True
>>> w != w
False
```
[0]: 5cef29ce8d/wrappers/python/setup.py (L237)
* Use umambiguous floor division for index calculations in Python
This makes the code work as intended if run as Python 3
```
$ python2 -c 'print(3/2, 3//2)'
(1, 1)
$ python3 -c 'print(3/2, 3//2)'
1.5 1
```
* Use `with` for file handling in Python
* Use `is None` instead of `== None` in Python
This is recommended in PEP8:
> Comparisons to singletons like None should always be done with is or is not, never the equality operators.
> - https://www.python.org/dev/peps/pep-0008/#programming-recommendations