add support for cancelling a consumer

cancel method and cancelled signal added to Queue, added auto tests
to guarantee conditions surrounding the cancel process