Add ability to have multiple shard schemas

This allows for easily changing how series are stored in the storage engine. If, for example, one wanted to compress the points, they could create a new schema that would do so.

The `schema` package follows a similar registration pattern to that of the `datastore/storage` package.

Code that was previously under the `Shard` struct has been moved to the default `raw` schema, and appropriate config defaults set to `raw`.