ENH: defer importing numpy.testing.* until needed

The goal is to reduce the number of modules that
numpy imports during an "import numpy", in order
to improve startup time. This is mostly important
for people who write small scripts (where the
import cost is the main overhead) and especially
those working on machines with slow file systems.

I noticed that the __init__.py files implement a
self-test and self-benchmark API using a variation
of:

  test = numpy.testing.Tester().test
  bench = numpy.testing.Tester().bench

The "import numpy.testing" step causes 32 modules
to be loaded, which is 22% of the 145 modules that
are loaded from doing "import numpy".

This change introduces a _DeferredTester() to see
if there is an actual cost savings.

With this patch in place, the result from
"time python -c 'import numpy'" goes from

0.098u 0.032s 0:00.13 92.3%	0+0k 0+0io 0pf+0w
  -to-
0.089u 0.028s 0:00.11 90.9%	0+0k 0+0io 0pf+0w

and with a bit better timing diagnostics I found
the actual "import numpy" went from 0.0788 seconds
to 0.0731 seconds, that is, about 7% faster.

This is meant as an experiment, and not a final patch.
Some of the things to clear up are:
  - is it worthwhile?
  - should _DeferredTester go into numpy.core,
      or elsewhere?
  - the test() and bench() methods uses *args/**kwargs
      and have no docstrings. This breaks help()
      inspectibility. Need to copy those from NoseTester()