Fixed wrap_lib

Addressed all comments from the previous PR from Tom. Closed that PR and opened this one. Contains the completely updated and corrected wrap_lib.py module.
I thought numpydoc _always_ generated a `'Parameters'`.  This also means that no-parameter functions can't be wrapped.  I am struggling to come up with one so we can probably ignore that issue for now.