Replace sorting strategy of dynamic parameters to prevent string-numeric index mess

The assignment of parameters (both dynamic and static) is using associative arrays, which
is BAD. As a side effect, when using dynamic to match agains a portion of hostname (e.g.)
which will contain zero-padded integers, assigning this string as key to the array will
create lots of problems since non-zero-padded integers won't be considered as strings,
messing everything up during array.sort().

This tries to overcome the sort issue by sorting first the keys in a simple array and
pushing them to the associative array already in order. The sort is still not ok but
strings won't be replaced by their array index.

Ideally we should refactor the whole code to avoid using associative arrays, which in js
are simply evil, and this is why.

Also:
There is no need to call array().sort in every iteration of the each
loop. Instead call it only once at the end of the loop.
Use timezone offset for rickshaw hover