code format:
1. adjust type definition position and group related together.
2. make each line in column 80 as possible.

readable :
1. add small class `TestCase` with meaningful field name to replace std::pair<std::function<MethodT>, std::string>
2. extract printing job from testing method to function with prefix `print_`.

refine:
1. pull the duration_cast<microseconds> out of for-loop. No need to cast in for loop.

renaming:
1. rename `assert_sorting_method` to `sort_correctly` to represent the function would return a bool value.
2.  rename printing helper `last_element` to `last_element_in_row`.
3. rename environment variable `DIGIT_WIDTH` to `OUTPUT_DIGIT_WIDTH`.  it is used for display item.
4.  rename `assert_sorted` to `sorted`.  it has no assertion in there.  testing related: 1.  add a user implementation fail test sorting slot.

misc:
1.  add a environment variable to choose display result even sorting function is passed.
2.  create namespace Platform to group all the functions which user no need to touch .