BUG: Fix bug with size 1-dims in CreateSortedStridePerm

This changes CreateSortedStridedPerm to not use the shape
for special casing 1-dim axis. The cleanup does not seem
to be useful in most cases and the current way is buggy.
Also insert stride so that reduce with keepdims=1 will
keep contiguous arrays contiguous. "Closes Issue #434"
BUG: Avoid regression in np.insert for axis!=0 or None

This avoids a regression with insert failing where it worked
before when inserting a full array with a scalar and axis!=0.
See also Issue #378 and #452.
Merge pull request #2697 from seberg/reginsert

BUG: Avoid regression in np.insert for axis!=0 or None
FIX: Python 3.2 debug assertion

Fixes gh-646, gh-2731. The patch was originally attached to gh-646 by "skrah".
BUG: Update base-traversal algorithm for array sub-classes so as to stop the base-traversal when the new base would not be an instance of the sub-class.
DOC: document in dev-guide how to write a good commit message.
DOC: a few edits to make "Development Workflow" in the dev guide clearer.
DOC: remove section "Patching" from dev-guide.

This section is outdated, and following it pretty much ensures that your
patches will languish in Trac.
DOC: one more edit to the dev-guide.

Recommend to update master before creating your feature branch.
Thanks to Nicky van Foreest for feedback on the dev-guide.
DOC: expand sections on commit messages and merging/rebasing in the devguide.

This commit address comments from Charles on PR #455.
BUG: Fix complex to bool conversion in lowlevel_strided_loops

Closes "Ticket 2218".
TST: Complex to bool conversion (Ticket 2218)
BUG: Remove pointer cast from the PyArray_BYTES macro.

This fixes a compilation problem encountered with numpy 1.7 when the
PyArray_BYTES macro was used as an lvalue in Theano. The macro worked as an
lvalue in 1.6 and in 1.7 only the struct name was changed, which makes the
problem a bit of a mystery, but Theano compiles with this fix.
BUG: Remove pointer cast from the PyArray_DATA macro.

This lets PyArray_DATA be used as an lvalue as some compilers raised an
error with the previous version. The type is now determined by the type of
the struct member and is char*.  PyArray_BYTES had the same problem when
used as an lvalue in Theano and the same fix is used here.  This problem
needs a bigger fix at some point as the function equivalent of the macro
does not return an lvalue.
BUG: fix download link in setup.py (which is shown on PyPi).

Closes Trac ticket 2243.
PKG: Fix minor typo in setup.py.

This is a backport of ddbb4bd5cd3ce1b0a48b0a0d1e4a78d02eb99f98.
Merge pull request #2740 from certik/backport455

Backport #455 to 1.7.x
FIX: Mark a tests knownfail on Hurd

Fixes gh-415. This test raises "Function not implemented" on Hurd:

======================================================================
ERROR: test_flush (test_memmap.TestMemmap)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/build/buildd-python-numpy_1.7.0~b2-1-hurd-i386-Ws9GSv/python-numpy-1.7.0~b2/debian/tmp/usr/lib/python3/dist-packages/numpy/core/tests/test_memmap.py", line 72, in test_flush
    fp.flush()
  File "/build/buildd-python-numpy_1.7.0~b2-1-hurd-i386-Ws9GSv/python-numpy-1.7.0~b2/debian/tmp/usr/lib/python3/dist-packages/numpy/core/memmap.py", line 301, in flush
    self.base.flush()
mmap.error: [Errno 1073741902] Function not implemented

Which seems like a Hurd issue:

http://web.archiveorange.com/archive/v/dpz3Spjqy0ESHmXKVt7c

http://lists.gnu.org/archive/html/bug-hurd/2002-11/msg00243.html

So we mark it as knownfail on that platform.
Merge pull request #2696 from seberg/issue434

BUG: Fix bug with size 1-dims in CreateSortedStridePerm
Merge pull request #2742 from certik/backport2709

Backport #2709