ticket #41: Precompute wire key serialization

Saves a little encode time.
Remove import alias.
Rename str->text, bytes->blob to avoid any confusion
Inline read_svarint/write_svarint.
ticket #41: abandon dict interface.

This deletes over 100 lines of gunk that aren't needed for meta.py, and
pushes some more branches into the type system (type_check_sequence(),
caching mutable attributes).

Since we cache values directly in the Struct instance's dict, we
no longer need to allocate a cache dict. Additionally, it is now almost
possible to use any type as the Struct class, which would allow avoiding
another allocation per row while scanning a collection of meta.py
objects, if things are arranged carefully.
derived_key is long gone.
Avoid a bounds check on PyPy by making SKIP_MAP immutable.