/// Sorts a data set using Insertion Sort
///
/// Average time complexity: O(n<sup>2</sup>)
///
/// # Example
///
/// ```
/// use sorting_algorithm::insertion_sort;
///
/// fn main() {
/// let mut data = [3, 1, 2, 5, 4];
///
/// insertion_sort::sort(&mut data);
///
/// assert_eq!(data, [1, 2, 3, 4, 5]);
/// }
/// ```