Improve aliasByNode path scrubbing.

Given a path which contains valid glob expansion characters
such as `{foo,bar}.baz.count', the regular expression evaluated
the path expression as `foo' because of the \w boundaries, etc.

Instead of using a regex, we go back to grammar.parseString()
as target strings are evaluated in normal graphite operation,
except that we ignore any function arguments that are not
pathExpressions. We tally up all of the pathExpressions found
in order of appearance and hand the full array back to the
caller so they may use whichever path items they see fit.
Add averageWeightedSeriesWithWildcards function.

Also refactor weightedAverage a bit.