Fix unsigned integer overflow.

Missing parenthesis caused unsigned integer overflow in quicksort
implementation.
Fix garbage collection bug.

Fixes an issue where garbage is being collected multiple times in a
row causing memory issues.
Behavioral changes in GC.

1. Remove the potentially unnecessary allocation counter. Use counter
   from generation 0 instead.
2. Add CMake option to enable debugging messages from GC.
Merge pull request #67 from peelonet/quicksort-fix

Fix unsigned integer overflow.