attempted bidder campaign spend update bugfix, click script performance related changes

bidder had some error while updating campaign spend info. couldnt track
it down easily but i have a hunch it was something about campaign data
update happening while campaign spend update was also happening and
issue with campaign_data dictionary keys changing during the run of the
campaign spend update, so at the beginning of campaign spend update we
now get a flat list of the keys as they are at that time and refer only
to that list.
click script deviceatlas performance has been poor so we explored ways
of improving it including caching the json file in apc (updated that
file to Jan 2013 version plus updated API code as well now) which helped
a little but not much, and now a tornado based web service on the same
machine that keeps it all in memory and responds very quickly to the php
script.