Add ut-{merge_sort,serialization_sort} empty_input test.
serialization_sort.h: Handle empty input as a special case.

If no input is pushed, set `m_reportInternal` to true and
`m_nextInternalItem` to the null pointer.

When `merge_runs` is then called, nothing is done since
`m_reportInternal` is true.

When `can_pull` is then called, it returns false since
`m_reportInternal` is true and `m_nextInternalItem` is the null pointer.
merge_sort.h: Handle empty input as a special case.

When no items are pushed, set `m_reportInternal` to true and free the
m_currentRunItems buffer immediately.

In `calc`, since `m_reportInternal` is true, nothing is done.

`can_pull` returns false since `m_itemsPulled` ==
`m_currentRunItemCount` == 0.