ENH: reduce overhead of probs check of choice

Use kahan_sum as multinomial does.
Closes gh-4188
MAINT: regenerate with cython 0.20 and fix a warning it emits

Fixed warning is "Non-trivial type declarators in shared declaration".
BUG: properly handle references of objects in new np.where

Objects must go over the objects copyswap function and GIL must be taken
before dereferences for correct reference counting.
DOC: add versionadded:: 1.8.0 to ufunc.at docstring
MAINT: fix some f2py related build warnings.
Merge pull request #4221 from rgommers/fix-f2py-warning

MAINT: fix some f2py related build warnings.
Merge pull request #4220 from juliantaylor/ufunc-at-ver

DOC: add versionadded:: 1.8.0 to ufunc.at docstring
Merge pull request #4213 from juliantaylor/choice-improv

improve random.choice performance and regen with cython 0.20
BUG: min_scalar_type_num: special float values can be represented in half

E.g. pandas sometime uses float('NaN') which would otherwise convert to
float64 where not required. The new np.where which uses
PyArray_ResultType is a case where the conversion is unnecessary.
DOC: document special float scalar casting change in release notes
Merge pull request #4215 from juliantaylor/where-obj-fix

BUG: fix reference count, thread safety and dtypes of np.where
ENH: Attempt to rewrite the index parsing.

Some optimizations still missing.
WIP: Speed improvements by using EXTERNAL_LOOP
WIP,TST: Fix tests to match new behaviour
WIP: use fast_take and fix Deprecations
WIP,TST: Small fixes for the tests
WIP: bug fixes and field oder access change
WIP,TST: Fixup python3 tests
WIP: fix field order; And MapIterNext iteration end
WIP,TST,DOC: tiny fix

maybe triggers Travis too...