Moves away from using the type based metadata system to the database / dataframe based one.
It defines a new Metadata object which contains dataframes of each of the metadata tables.
It defines metrics to read these per country from azure
It defines a function to load and merge all countries in to a single metadata object.
It defines methods on the metadata struct to find specific metrics
It defines methods on the metadata struct to find specific geometries.
TODO
[x] Figure out how to do fallback for year and geometry level if not explicitly specified ( default to latest year and smallest geometry level?)
[ ] ~Figure out if we can implement From<Row> for MetricMetadata etc to get more structured data back from the dataframes~ Opening ticket #40 to perhaps attempt this in the future but it doesn't need to be part of this PR.
[x] Decide on a unique metric id column (HXL seems like obvious one but I am not 100% sure if that will exist for all of the data we currently have (for example the US ACS columns)) ( we have decided to allow for specification of the metric using multiple columns with potential wildcarding)
This PR
TODO
From<Row> for MetricMetadata
etc to get more structured data back from the dataframes~ Opening ticket #40 to perhaps attempt this in the future but it doesn't need to be part of this PR.