AUI-1577 Consistent truncate behavior plus tests

Ticket: [AUI-1577](https://issues.liferay.com/browse/AUI-1577)

Now strings should be truncated to the same `length` no matter where  the ellipses are added. The total truncated string length will always be equal to `length` (including ellipses), and never less than three (because of the ellipses).