Add in memory tag and metastore index

*STILL A WORK IN PROGRESS*

## Overview

This PR adds an in memory metastore and tag index. It should be treated like a write through cache for the metastore. Whenever the metastore gets updated the index should. The index is loaded completely into memory on server load.

It will provide quick lookups for measurements, series, and filtering those based on tags and regexes.
Actually no. The index only gets created when the database gets created or it gets loaded on server start. We just need a safe way to get the index itself from the map. Any access to the index itself has its own locks