Fixes #6710 - unicode characters in url parameters

Original methods to_param defined on resources called name.parameterize
to get rid of url-unsafe characters. This function also strips off unicode
characters.
Another problem was in one unified search function for all parameterization approaches. It used to fail when a name was parameterized to blank string or when a name contained only numbers.

Changes:
- parameterization extracted into a separate module Parameterizable
- each resource defines methods 'to_param' and 'from_param' to ensure correct search
- views updated to always use to_param when building links
- parameterization changed to id+name for resources where it wasn't safe to rely only on names
- default parameter is id
I intentionally changed it to id-name because I didn't find any format validation for `FactName` and considered it not safe for usage in urls.
Is the name format guaranteed by any other conditions (e.g. puppet restrictions)?