add polygonBySideLength category to C4Shape

-code has been revised since last commit, as suggested by Alejandro