Bugfix for 3118

Regarding this issue: http://code.opencv.org/issues/3118

This is the original question that led to the issue: http://answers.opencv.org/question/12048/drawmatches-bug/

It's still not clear to me whether this is correct, as in the ocl and gpufeatures2d modules DMatch is always initialized with the query index before the training index, for example:

modules/gpufeatures2d/src/brute_force_matcher.cpp:            DMatch m(queryIdx, _trainIdx, _imgIdx, _distance);