ENH: Benchmarking global optimizers

This PR adds over 100 classes that can be used to benchmark global optimizers.  Global optimizers are methods for finding minima in functions that may have multiple local minima but few global minima, may not be differentiable, etc.  Global optimizers need to be used because normal minimizers typically can't cope with starting points that are far away from the global minimum.
These global benchmarking functions are based on a suite written by Andrea Gavana, https://code.google.com/p/ampgo/. 
``print`` statement isn't valid Python 3. All files should have this as the first import:

    from __future__ import division, print_function, absolute_import

and then use ``print`` as a function.