box: Fix the timing of large size check when updating box size.
sample: More robust roll_distance decision for reordering.

Add comment about an approach to decide it.
box: Don't allocate cache for track when constructing 'traf'.

'traf' takes over the cache from 'trak'.
This fix a memory leak.
box: More macros to simplify box constructor functions.
box: Rename item_list, a member of 'ilst', into metaitem_list.
sample: Support AudioPreRollEntry.
box: Avoid using Statements and Declarations in Expressions.

This feature is an extension of some compilers and not included in C99.

Also cosmetics in isom_update_box_size().
sample: Avoid referencing uninitialized pointers.
fragment: Initialize TSAP, TDEC, TEPT and TPT always.

This initialization is redundant since these are unused when uninitialized
and are initialized always in used cases, but unclever compilers may
complain that these variables may be uninitialized.
box: More macros to simplify definition of box constructor functions.
box: Add ATTACH_EXACTLY_ONE_BOX_TO_PARENT macro for cosmetics.
box: Implement default arguments for cosmetics.
box: Simplify the definition of extension constructors.

Remove the definition of empty functions.
box: Simplify the definition of box destructor functions by more macros.
box: REMOVE_LIST_BOX and REMOVE_LIST_BOX_IN_LIST can use the same template.
cli: Use lsmash_malloc_zero() instead of calloc().
box: Use lsmash_free() instead of free().

Also remove unneeded NULL pointer checks for freeing.
hevc: Avoid redundant reallocations for lists of columns and rows.

Also fix a memory leak.
public header: Update micro ver. because of reallocations for HEVC.
public header: Cast signed to enum values > INT_MAX.