docs: def month_average_temperature(self, older_year=None, newer_year=None,
                                    include_yearly=False, minimum_days=23):
          '''
          >> station = get_closest_station(38.8572, -77.0369)
          >> station_data = StationDataGSOD(station)
          >> station_data.month_average_temperature(1990, 2000, include_yearly=False)
          [276.1599380905833, 277.5375516246206, 281.1881231671554, 286.7367003367004, 291.8689638318671, 296.79545454545456, 299.51868686868687, 298.2097914630174, 294.4116161616162, 288.25883023786247, 282.3188552188553, 277.8282339524275]
          '''
          # Take years, make them inclusive; add minimum valid days.
          year_month_averages = {}
          year_month_counts = {}
          
          for year, data in self.parsed_data.items():
              if not (older_year <= year <= newer_year):
                  continue # Ignore out-of-range years easily
              year_month_averages[year] = [0.0]*12
              year_month_counts[year] = [0]*12
  
              for i, day in enumerate(data):
                  if day is None:
                      continue
                  # Don't do these comparisons to make it fast
                  if day.DATE.year < older_year or day.DATE.year > newer_year:
                      continue # Ignore out-of-range days as possible
                      
                  T = day.TEMP
                  if T is None:
                      continue
                  # Cache these lookups
                  year_month_averages[year][day.DATE.month-1] += T
                  year_month_counts[year][day.DATE.month-1] += 1
              
              for month in range(12):
                  count = year_month_counts[year][month]
                  if count < minimum_days:
                      ans = None
                  else:
                      ans = year_month_averages[year][month]/count
                  year_month_averages[year][month] = ans
                  
          # Compute the average of the month
          actual_averages = [0.0]*12
          actual_averages_counts = [0]*12
          for year, average in year_month_averages.items():
              for month in range(12):
                  if average is not None and average[month] is not None:
                      count = actual_averages_counts[month] 
                      if count is None:
                          count = 1
                      else: 
                          count += 1
                      actual_averages_counts[month] = count
                      month_average_sum = actual_averages[month]
                      if month_average_sum is None:
                          month_average_sum = average[month]
                      else:
                          month_average_sum += average[month]
                      actual_averages[month] = month_average_sum
                      
          for month in range(12):
              actual_averages[month] = actual_averages[month]/actual_averages_counts[month]
                      
          # Don't set anything as properties - too many variables used in calculating thems
          # Speed is not that important.
          if include_yearly:
              return actual_averages, year_month_averages
          else:
              return actual_averages