BUG: Fix exceptions being swallowed by fromiter.

All exceptions from underlying iterator were being collapsed into a
generic one. This allows the original exception to propagate.

Closes gh-2592.
TST: Add tests for exceptions raised by fromiter.

This improves the testing of the edge cases.

Work done with @certik.
BUG: Remove xrange that slipped into test_numeric.py.
STY: Fix trailing whitespace and replace test doctrings by comments.
BUG: Allow to pad arrays by zero entries.

np.pad will now accept a pad_width containing zeros. The functionality
was already implemented, but validation of input was too strict.
TST: New test to ensure np.pad allows pad_width of zero.
Merge pull request #3506 from josteinbf/arraypad-padwidth-zero

Allow pad_width of zero in np.pad
Merge pull request #3500 from charris/fix-3592

Fix exceptions being swallowed by fromiter.
ENH: vectorize boolean comparisons of floats

the new code will more often propagate the invalid floating point
exception if comparing against nan, so allclose now ignores it (but
still returns False)