MAINT: Move NPY_BEGIN_THREADS_DEF to end of declarations.

The is an ';' at the end of the macro definition. When used and followed
by another ';', gcc thinks a statement has been made. An empty
statement, but still a statement. This causes compilation failure with
Python 3.4a.

The ';' should probably be removed, but that was undone in 1.7 to
maintain backward compatibility.
Merge pull request #3629 from charris/fix-out-of-order-declaration

MAINT: Move NPY_BEGIN_THREADS_DEF to end of declarations.