Http api shards

You can remove the `i` variable by moving the `len()` to the third `make()` arg and using `append()`:

```go
shards := make([]*Shard, 0, len(db.shards))
for _, v := range db.shards {
    shards = append(shards, v)
}
```