Bugfix - select2 style metrics needs to be sourced from each backend

Previously the logic for working out which backend library to call the styling
function was based on the first backend in the returned list. This does not
hold for when multiple backends exist. Now, the list of pure metrics and their
styled form per backend is obtained, and culled based on the feedback type
(raw, or stylized for select2)

Also updated the descartes backend to handle encoding where the key/value pairs
may contain delimiter characters.