Add low and high indexes parameters

* Low and high indexes are needed for quicksort recursive calls and
C does not have default arguments
Take pivot out o the way as quicksort first step

* Define pivot as median element to achieve O(n * log)
* Take pivot out of the way for partitioning procedure by swapping it
with low element
Partitionate array

* Pivot element ends up with only smaller elements on its left and
greater values on its right
* Still missing recursive calls but it works for strict reversed sorted arrays
Recurse into partitions and fix some bugs

* Change quicksort parameters type from size_t to int because numbers may be negative
* Add new test
* Update base case to return when low and high are equal
* Fix median element calculation (operator precedence, derp)
* Recurse left and right