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.
The `nil` check shouldn't be necessary if you're just going to use `append()`:

```go
ids = append(valueMap[v], s.ID)
```