Add support for indexes to serialization code
Move that adds padding into destructor of builders.

This is okay, because we check that the buffer size is always big enough to add
the aligned bytes. So the add_padding() call can not fail in this case.
Remove length_t. Use size_t instead.
Builder code cleanup/simplification