Move string functions and tests out of magician.core and into magician.string