Data aggregation

## Phase 2 of Data Aggregation

Aggregation is handled for two data forms:

  1. timestamp, subkey_id, val1, val2, val3, ...
  2. timestamp, val1, val2, val3, ...

This covers four data types being used at this time: weather, circuit, egauge and irradiance.

Inserts to the database have been tested. A significant amount of redundant code has been eliminated. A generalized and extensible pattern has been developed to handle aggregation needs.

The next phase involves performing automated updating of aggregated data in the database.