Added heap sort implementation: Sorting/heap_sort.py

Follows standard defined in Sorting/SORTING-README.md. min_value and max_value parameters not required as sort is comparative.
Added quicksort implementation: Sorting/quicksort.py

Follows standard defined in Sorting/SORTING-README.md. min_value and max_value parameters not required as sort is comparative.
Added couting sort implementation: Sorting/counting_sort.py

Follows standard defined in Sorting/SORTING-README.md. min_value and max_value parameters are required as sort is non-comparative.
Updated specification to remove requirement for min_value and max_value parameters in sorting algorithms.

Previously, min_value and max_value parameters were used for non-comparative sorts (counting sort so far). However, these values are now determined dynamically using min() and max() on the input data. These operations do not alter the asymptotic time complexity of the algorithms, so are appropriate to use.

The seven algorithms implemented so far have been updated to reflect this change.
Added radix sort implementation: Sorting/radix_sort.py

Follows standard defined in Sorting/SORTING-README.md.