quota: fix a race condition bug in trieIndex.applyQuotas
quota: fix a race condition bug in trieIndex.applyQuotas

the current quota config file is last-match-wins, and with heavy concurrent
quota enforcement, go-carbon should only update quota info per node once,
otherwise it risks of having confusing and incorrect quota enforcement.

for example, suppose we have the following quota configs:

    [sys.*]
        throughput = 1024
    [sys.app]
        throughput = 4096

if sys.app is updated twice using top down order in the quota config file, there
is a window that sys.app would have a quota with throughput of 1024, and if the
namespace happen to be receiving more than 1024 data points during that window,
it would trigger incorrect throttling.

TODO: with updateChecker, it's also straightforward now to support
first-match-wins in quota config file, but we would have to introduce a new
flat to ask for it for backward compatibility.

deniszh/go-carbon,lomik/go-carbon,deniszh/go-carbon,deniszh/go-carbon,lomik/go-carbon,lomik/go-carbon