2to3: Apply `filter` fixes. Closes #3053.

Generally, this involves using list comprehension, or explicit list
construction as `filter` is an iterator in Python 3.
REF: Replace filters with list comprehensions.

2to3 does a lot of list(filter(...)) sort of thing which can be
avoided by using list comprehensions instead of filters. This
also seems to clarify the code to a considerable degree.
BUG: Fix `not a in ...` to `a not in ...`.

Also break regular expression compiles out of the loop.
Merge pull request #3056 from charris/2to3-filter

2to3: Apply `filter` fixes. Closes #3053.
2to3: Put `from __future__ import division in every python file.

This should be harmless, as we already are division clean. However,
placement of this import takes some care. In the future a script
can be used to append new features without worry, at least until
such time as it exceeds a single line. Having that ability will
make it easier to deal with absolute imports and printing updates.
MAINT: Make numpy/f2py/crackfortran docstring read better.

The copyright and short summary were moved to the top of the
docstring with the usage description below.