FIX: Fixes the segfault in PyArray_FromScalar

The problem was that PyArray_NewFromDescr() steals a reference to typecode and
so any further usage of it is undefined. Apparently this bug only appeared in
debug version of Python 3.2. The fix is to simply INCREF typecode and then
carefully DECREF it at each possible exit from the function.

Fixes gh-2738.
Merge pull request #2837 from certik/backport2831

FIX: Fixes the segfault in PyArray_FromScalar
MAINT: Update and cleanup 1.7.0-notes.rst.

This backports 7f1f57de438ece90761bc9b5bdce7394c26778e8 into the release
branch.
[FIX] preserve memory order in np.copy()

This switches us back to the behaviour seen in numpy 1.6 and earlier,
which it turns out that scikit-learn (and probably others) relied on.
Merge pull request #2839 from certik/backport476

[FIX] preserve memory order in np.copy()
MAINT: update Intel Fortran compiler flags for the 21st century.

Thanks to Intel for this contribution.
Note that there's also an MKL application note which recommends these flags:
http://software.intel.com/en-us/articles/numpyscipy-with-intel-mkl
TST: Add failing test for unicode array with object dtype
BUG: Use numpystr for arrayprint fallback instead of str
TST: Change expected output for Python 3.
Merge pull request #2841 from certik/backport433

MAINT: update Intel Fortran compiler flags for the 21st century.
Merge pull request #2842 from certik/backport459

Backport459
Fix unicode tests for flexible string representation on Python 3.3
Merge pull request #2849 from certik/backport2836

Fix unicode tests for flexible string representation on Python 3.3
TST: Replace Python 3.1 test with 3.3.

Travis does not support 3.1 anymore, but supports 3.3. See:

https://groups.google.com/d/topic/travis-ci/02iRu6kmwY8/discussion
Fix invalid typestring size

Revert to pre numpy 1.7 behavior where invalid typestring size was ignored and isplay deprecate warning. This warning should eventually be changed to an error in future numpy versions.
Refactor to cover more cases; modify unit tests
Modify unit tests for 32 bit support
Refactor unit tests and add DECREF

- Refactor unit tests for invalid dtypes so that each test is on a separate line. This will make it easier to figure out which typestring is failing the unit test.
- Add Py_DECREF for temp variable
Add debug logging to figure out why unit test fails on Travis
Add fix to unit test; remove debug logging

Add check to see if 12 bytes is a valid size for a long double