Webform goals performance improvements

 - Fixes a bug where metrics were being calculated for each token instead of once per widget.
 - Consolidated total donation amount functions for fewer DB queries.  Didn't result in much difference in my own testing, but could be an improvement when more nodes are used with start and end dates.
 - Removed a node_load where it wasn't needed.  This removed all the related node load hooks being called unnecessarily.
 - Changed the total donation amount query to use the fundraiser_donations table instead of join the commerce tables.