Improve Serializer.pluralize to guess more plurals

I changed the `pluralize` / `singularize` functions to guess more common cases, so we can reduce the need for `configure('plurals')` to a minimum.

Two main things I did:

- Made sure if we define a plural for `criterion`, `pluralize` can guess the plural for `system_criterion`

- Added more common cases such as words ending in `y`, `s`, `x` ... etc