Fixing value encodings along with keyvalue streams

Merging this with the key/value fixes done while I was working on it.
As discussed, the `mergeSelectively` approach is not very future proof and we can either black list instead of white list or change it all together in the future.

I kept it in since I believe it is still cleaner than [the current approach](https://github.com/dominictarr/level-sublevel/blob/15dd07ef9e2f384e59c0b608302c01a6a2d149ca/sub.js#L94-L108) in which values get merged repeatedly it seems.