An array of fluid boxes. Entities may contain more than one fluid box, and some can change the number
of fluid boxes -- for instance, an assembling machine will change its number of fluid boxes depending
on its active recipe.

A fluid box is represented as a table:

type :: string: Fluid prototype name of the fluid contained in this fluid box.

temperature :: double (optional): The temperature. When reading from LuaFluidBox, this field
will always be present. It is not necessary to specify it when writing, however. When not specified,
the fluid box will be set to the fluid's default temperature as specified in the fluid's prototype.

Do note that reading from a LuaFluidBox creates a new table and writing will copy the given
fields from the table into the engine's own fluid box structure. Therefore, the correct way to update
a fluidbox of an entity is to read it first, modify the table, then write the modified table back.
Directly accessing the returned table's attributes won't have the desired effect.

Access, set or clear a fluid box. The index must always be in bounds (see LuaFluidBox::operator #);
new fluidboxes may not be added or removed using this operator. If the given fluid box doesn't contain any
fluid, nil is returned. Similarly, nil can be written to a fluid box to remove all fluid from it.