Allows to redefine sluggable_type using Louisville::Util::polymorphic_name

It was not possible to override the `:has_many` relationship of historical slugs before, so it will always use the `class_name` of the class where we wanted to add the history of slugs.

Thus when having namespaces:

`Manager::User`, `Customer::User`, it was not allow storing just `User` as the sluggable_type thus  and `Manager::User.find('something')` would trigger the same query:

```
Manager::User.find('something') => 
SELECT `slugs`.* FROM `slugs`  WHERE `slugs`.`sluggable_id` = 1 AND `slugs`.`sluggable_type` = 'Manager::User'

Customer::User.find('something') => 
SELECT `slugs`.* FROM `slugs`  WHERE `slugs`.`sluggable_id` = 1 AND `slugs`.`sluggable_type` = 'Customer::User'

```