[WIP] Api fixes

As in #38. Collated todo:

- [ ] function names in functions.py need to be longer and clearer
  (intwave, centrfrq, scal2frq, orthfilt).

- [ ] qmf already exists in scipy.signal

- [ ] wavelet parameter to functions should be uniform everywhere (can
  be Wavelet instance, string and in some cases intwave even a third
  option).

- [ ] functions in thresholding.py are (too?) simple and in two cases
  equal numpy names.

- [ ] MODES is all capitals. It's properties aren't very Pythonic.

- [ ] Wavelet has `__str__` but not `__repr__`.

- [ ] scal2frq has scale and delta inputs that are identical (they're
  just multiplied).

- [ ] The submodules (functions, thresholding, etc.) should not be
  public, so underscore them all.

- [ ] check for consistency of `walk` and `walk_depth`, #19

- [ ] There's dwt, dwt2, dwtn and idwt, idwt2 but no idwtn. Needs adding

- [ ] There are also iswt and istw2 implementations posted on the
  PyWavelets mailing list.

- [ ] Furthermore there's an open PR adding `wavedec_coeff_len`.

- [ ] Functions in thresholding.py merged into a single function
  threshold in #49