fixed fast tokenizer use in QA pipeline and added corresponding test
This PR fixes https://github.com/huggingface/transformers/issues/6545

The problem is that the behavior of the python tokenizer and the rust based fast tokenizer is very different.
The python tokenizer handles cases where inputs are in different formats (str tokens and int tokens and vice versa), where as the fast tokenizer is unable to do so.

My modifications include pretokenizing the query and along side the context, but not encoding it as is done now.
Both the query and context are encoded together by the the tokenizer's `encode_plus` method with `is_pretokenized` set to True.

Some edge cases where the fast tokenizer fails because of limited functionality (compare to python tok) have been added and I've included comments in those places.
The failed test seems to be failing for merged PRs too. I'll fix up the formatting with black