FIX: make getTranslations work even when translation classes differ

Even though it is an edge-case, some sites may allow translation groups to be
composed of different classes.  In that case, Translatable->getTranslations()
should still work.

Also, this commit adds a helper function for testing two array for equality
where you don't care about the order of the elements.  This cleaned up a lot
of copy and paste boilerplate code that was sorting arrays to test.
TEST: adds test for changing class name of default locale translation

Adds test case for silverstripe/silverstripe-translatable#97