New funnel behavior code

Previously funnels would fill based on random number results.  This code makes funnels gather an amount of progress per turn until a full charge is gathered.