Modify the version 1 format to support bucket types

The new keydir format has 2 forms, as follows

```
<<Version:7, 0:1, BucketSize:16/integer, Bucket/binary, Key/binary>>
<<Version:7, 1:1, TypeSize:16/integer, Type/binary, BucketSize:16/integer, Bucket/binary, Key/binary>>
```

The 8th bit of the binary is the bit that indicates if a bucket type is
present, and tells the decoder which form to expect.

Both the eunit tests for riak_kv_bitcask_backend and the bucket_types riak_test pass against this branch.

cc @evanmcc