Merge run_squad.py and run_squad2.py
Merge run_squad.py and run_squad2.py to a single file as [official's Bert](https://github.com/google-research/bert).
I did integration test by myself and run once.

The following is the scores with base-uncased model

| Task  | Exact | F1 |
| ------------- | ------------- |  ------------- |
| SQuAD v1.1 |  80.90823084200568| 88.03529050425266 |
| SQuAD v2.0 | 72.56801145456078|   75.65274647953608 |
#152 run squad pull request with Squad 2.0 was originally one file but was asked to be separated into two files for commit. #174<|||||>@abeljim Thanks for your replying, but I think that they should merge to a single file due to easier maintain and too many repeat code.<|||||>How many epochs used in SQuAD2.0 in your test?

> @abeljim <|||||>> How many epochs used in SQuAD2.0 in your test?
> 
> > @abeljim

Just 2<|||||>Ok I didn't notice the original implementation had these scripts merged in a single file.
I guess we merge these scripts together here also.
Do you want to update your branch to resolve the merge conflicts @Liangtaiwan?<|||||>Ok merged, thanks @Liangtaiwan <|||||>Hi @Liangtaiwan and @abeljim , should models trained on SQuAD 2 use the `version_2_with_negative` flag when evaluating on SQuAD 1.1 dev sets? I'm noticing more than a 10 point difference with and without the flag. Thanks!

Results with the flag appear to be closer to the performance on the answerable examples in SQuAD 2, but I wanted to confirm.<|||||>Hi @samsontmr, that's a good question.

In my opinion, since there is still a plausible answer to the unanswerable questions in SQuAD 2.0, you should use the version ```verions_2_with_negative``` when training.<|||||>Thanks! I think you mean when testing?<|||||>Hi @samsontmr, sorry for misunderstanding your question.
If you trained the model with ```verions_2_with_negative``` on SQuAD 2.0, the only difference when you evaluate on SQuAD 1.1 is post-processing. 
With ```verions_2_with_negative``` flag when testing, the model would output unanswerable which is not a valid choice in SQuAD 1.1. This might the reason why there is a 10 point difference with or without the flag.
I don't think you need ```verions_2_with_negative``` flag when testing. 
Could you paste the result and the version of transformers you used? <|||||>I see! Unfortunately I didn't save the results, but I got an F1 of 70+ with the flag, which is closer to the squad 2 "hasAns" results, and 80+ without the flag.