Rearrange record encoder definitions for meta.py.

Merge Encoder and EncoderBinding, since in future the getter function
will be more useful than for just in meta.py (i.e. it's needed to
implement declarative indexes).

Split Encoder into Encoder, Compressor. Now we can change Encoder
interface to include the key of the record being decoded.

Update docs throughout.