Merge branch 'demo-update' into master.

- Updates all files in the demo dir to currently standard idioms.
- Removes not-so-useful files.
- Adds some comments and figure titles to make things more understandable.
TST: add basic unit test for wavedec2/waverec2.
MAINT: use debug build on Travis CI, fix resulting test failures.
MAINT: remove usage of Python C API in _pywt.pyx
DOC : Added doc for functions.qmf and functions.orthfilt
API : Thresholding functions merged into one
STY : PEP8 fixes in docstring
MAINT : Putting threshold function directly in pywt namespace
MAINT: fix some minor issues in thresholding and orthfilt().
Merge branch 'pr/49' into master.

Review at https://github.com/rgommers/pywt/pull/49

Note: this is the first change that breaks backwards compatibility
with PyWavelets!
Bring dwt2 into agreement with dwtn docstring

The behaviour and variable naming of dwt2 did not match what was
described in the docstring of dwtn. This brings the two into agreement
(renames LH/HL and corrects V/H respective to 'ad' naming scheme).
Add inverse n-dimesional dwt.

Adds inverse n-dimensional dwt. Smoke tests to ensure it behaves as
(i)dwt2 for 2D case and can reconstruct data. Note resulting dimensions
will always be even, I cannot see any other way of doing it.
STY: Fix style problems pointed out by rgommers

tabs -> spaces, proper formatting of docstrings, formatting of arrays in
tests and no docstrings in tests.
BUG: Fix `take` parameter on `upcoef`

`upcoef` function would raise a value error due to a normal division
instead of an integer division. Changing this made it return an empty
array if `take == rec_len - 1`. The cleanest fix was to increment the
right instead of the left boundary, this also allows reconstruction of
the original signal using the sums of upcoef with 'd' and 'a' parts.

NOTE: This means that `upcoef` will return different (but equally
correct) results than before for the same inputs. Doesn't cause any
tests to fail and seems a saner behaviour.
ENH: Add `take` parameter to idwtn

Adds the `take` parameter to idwtn. This can take an iterable or single
integer and will ensure the resulting array is of those dimensions using
the `take` parameter of `upcoef`.
MAINT: Change order in which idwtn processes axes

By changing the order in which `idwtn` processes axes, any iterable used
in the `take` parameter can be used directly instead of first converted
to a tuple and reversed.

Note changes to `test_multidim.py` - these changes shouldn't make a
difference but are necessary to pass the tests. I suspect a bug in
numpy's testing routines.
STY: Fix style in tests and idwtn

Fix style as suggested by @ankit-maverick. Imports according to PEP8,
one newline between function definitions line length and spaces around
arithmetic operators.
STY: 2 newlines before function definitions
REV: Undo 22390f0

Processing axes in the exact reverse order to `dwtn` avoids floating
point errors when both the 'a' and 'd' components of a pixel are 0. Uses
`islice` to still allow any iterable to be passed as `take` parameter.
STY: Line wrapping