Recursive implementation for _cut() which allows negative stack sizes for cutting from the bottom of the deck. Tests updated.