qSelect algorithm implemented

Unfortunately, some ugly line was necessary in the motherfucking
partition function :/
Removed the uggly lines in the partition function

The value returned by partition describes the exact position to which
the array is partitioned. This last position itself is partitioned as
well, so we don't have to include it in the next call - EVER
fixed some minor things in app and build script