Insertion Sort ============== Wikipedia on [insertion sort](http://en.wikipedia.org/wiki/Insertion_sort). ![insert sort gif](http://upload.wikimedia.org/wikipedia/commons/0/0f/Insertion-sort-example-300px.gif) #### Algorithm Insertion sort is a common sorting algorithm that, while still its worst case is still O(n**2), it is much more efficient than Bubble sort on average. According to wikipedia, when people manually sort something, like a deck of cards for example, most use a method similar to insertion sort. The algorithm is simple - here it is in pseudocode. ``` from i = 1 to length of array: j = i while j > 0 and array[j-1] > array[j]: swap array[j] and array[j-1] j = j - 1 ``` #### Implementation Write a function `insertion_sort()` that takes an unsorted `list` and returns a sorted `list`, using the insertion sort algorithm.