Split out PathCleaner service

This splits out a PathCleaner service to simplify the logic in PathautoManager.

It also creates a AliasStorageHelper and moves the methods that access the maxlength values there.