Index bundles

- index bundles use only integer indexing to access bundle 'fields'.
This matches the representation used in the hydra query system, and is
intended to flush out improper toString and Integer.parse conversions
and other such bug prone logic
- it _does_ support 'labels' in the format, but this is intended for
debugging and hinting only (eg. you might use them in an explicit
conversion, or to inform the user about the origin of various columns)
- this format deliberately breaks abstraction, but it does so in a
partially dynamic way. A better solution might be to define a subset
of the bundle interface (and maybe expand it a little bit with some
more index oriented functions) and bundle extend that. Then once the
format was changed in the query engine, static analysis would prevent
the rest from compiling until it was fixed up.