Add groupByNodeMetric render function

Takes a seriesList and maps a callback to subgroups within as defined
by a common node and filtered by metricsNode matching one of the
metrics defined by metricsList.

Note:
- Order of the series matching metricsList is preserved when mapped
  to the provided callback.
- Both groupNode and metricNode are 0 indexed

Example:

    target=groupByNodeMetric(servers.*.cpu.*,1,3,"asPercent","cpu-user","cpu-total")

Becomes:

    asPercent(servers.server1.cpu.cpu-user,servers.server1.cpu.cpu-total),
    asPercent(servers.server2.cpu.cpu-user,servers.server2.cpu.cpu-total),
    asPercent(servers.server3.cpu.cpu-user,servers.server3.cpu.cpu-total),
    ...
    asPercent(servers.serverN.cpu.cpu-user,servers.serverN.cpu.cpu-total)