ENH: adding differential evolution as a fitting method

Adding differential evolution as a fitting method.
I don't think this change is correct. This base class should never be directly run, so it subclasses `object`. Its subclasses use multiple inheritance, subclassing both `CommonMinimizerTest` and `unittest.TestCase`.