provide reasonable grading function in gen_extended_block_mesh()

- grading function now accepts x in [0, 1]
- update _spread_along_axis()
- verify merging by checking the number of nodes, update _get_extension_side()