Update dnatural to 0.17

See #6.

This also includes a partial delinting of dflat.py, and merges in documentation and code fixes by @anarchivist and @gsf.