Overhauled documentation in features module and cleaned up PEP8 warnings

This addresses most of the items raised in #161 

It does not modify variable names.

Main changes are to docstrings to follow numpy standard, and hopefully produce much better results from ```help()```.  They are much easier to read now.

Other changes were to white spaces - adding and removing as needed to reduce PEP8 warnings.

I split some of the longer lines (to achive <= 79 chars), and was aiming for better readability in these cases than some of the options permitted under PEP8, e.g., 

```
some_var = (
    foo, bar
)
```

rather than
```
some_var = (
    foo, bar)
```

There are no functional changes in this PR.