Chapter 6: Recursive Functions

@laurocaetano and @carlosgaldino here are my solutions for chapter 6. The nice thing is that it matched the chapter 2 of Introduction to Algorithms that presents merge sort. Seeing the Recursive + Pattern Matching solution is beautiful and easy to understand as quicksort.
This is not necessary because `take n xs` and `drop n xs` when `xs == []` will return and empty list.