Add preliminary support for metadata

Currently pretty hacked: h5py only allows variable length strings, so serializing taxonomy to semicolon-delimited strings for now.

hdf5.Table now does all operations (except copy) in-place, which yields some nice performance benefits. Axis indices are now built lazily, which also yields performance benefits (depending on use-case of course).