* Make 'empty(stack)' more robust
* Only try to 'push(stack, card)' if card != NULL
* Added message explaining why 'pop(stack)' needs to create a new
stack object when popping a stack's last element
* 'move_card(stack, stack)' now checks if the origin pops something
before trying to 'push(stack)' to destination. This prevents
dereferencing a possible NULL pointer.