[WIP] update pl=0.8.5
1. update to use from_argparse_args

2. deleted args that were manual but trainer has already.

3. fixed optimizer_step.

4. moved the LR logging to the correct hook

5. dropped the rank_zero_only stuff since that's not needed. All loggers and print ops happen only on rank_zero already. This was redundant.

6. proper use of setup()

@sshleifer let me know how I can test these changes
@sshleifer this looks good now :) 

```
Epoch 1:   0%|                                                                                                                         | 2/13382 [00:01<3:15:14,  1.14it/s, loss=171200.000, v_num=1t6n9wkw]Gradient overflow.  Skipping step, loss scaler 0 reducing loss scale to 8192.0
Epoch 1:   0%|                                                                                                                         | 3/13382 [00:02<2:28:51,  1.50it/s, loss=135029.328, v_num=1t6n9wkw]Gradient overflow.  Skipping step, loss scaler 0 reducing loss scale to 4096.0
Epoch 1:   0%|                                                                                                                         | 4/13382 [00:02<2:06:06,  1.77it/s, loss=109544.000, v_num=1t6n9wkw]Gradient overflow.  Skipping step, loss scaler 0 reducing loss scale to 2048.0
Epoch 1:  20%|███████████████████████▉                                                                                                | 2672/13382 [23:08<1:32:43,  1.93it/s, loss=7298.400, v_num=1t6n9wkw[[AEpoch 1:  50%|████████████████████████████████████████████████████████████▎                                                            | 6674/13382 [55:41<55:58,  2.00it/s, loss=28663.199, v_num=1t6n9wkw]
Epoch 1:  50%|████████████████████████████████████████████████████████████▎                                                            | 6675/13382 [55:46<56:02,  1.99it/s, loss=28663.199, v_num=1t6n9wkw]
Validating:  76%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████                                     | 48/63 [03:33<01:07,  4.52s/it]
Epoch 1:  53%|████████████████████████████████████████████████████████████████▎                                                        | 7114/13382 [59:07<52:05,  2.01it/s, loss=28257.600, v_num=1t6n9wkw]
```


**This PR:**
- Fixes the lightning_base.py
- adds best practices to it
- fixes seq2seq example

**TODO:**
- fix the other examples (separate PR likely?)

**Comments**
- There is a lot of flag mapping that kind of starts to limit what users can do. (accumulate_grad_batches vs whatever). It's not the worst thing, but it adds unnecessary points of failure.

- data: Download data in prepare_data, use setup to split/etc and assign.

<|||||>- Do you have a ROUGE-2 score for that run? The TQDM reported loss is much higher.
- Does multi-gpu + `trainer.test` work?
<|||||>I think you also need to fix examples/seq2seq/test_seq2seq_examples.py
and `examples/requirements.txt`. But I would only do that after you've verified
that val-rouge2 doesn't get worse on single and multi-gpu. You can see metrics in `output_dir/metrics.json`.

<|||||>@sshleifer ok, this is verified to work with 2 GPUs wnb and apex... what do you want to do now?<|||||>You also need to run `make style` to satisfy the check_code_quality CI job, and potentially examples/requirements.txt.<|||||>@sshleifer 0.8.5 is live. we can merge and finish this now :) 
Then update the rest of the examples and we should be golden.

I'll fix the style stuff this weekend<|||||>A very similar change was merged @moscow25