Trainer Evaluates at each step (Not of epoch end) , indentation bug
## Environment info
   
- `transformers` version: 3.2.0
- Platform: Linux-4.19.112+-x86_64-with-Ubuntu-18.04-bionic
- Python version: 3.6.9
- PyTorch version (GPU?): 1.6.0+cu101 (True)
- Tensorflow version (GPU?): 2.3.0 (True)
- Using GPU in script?: Yes
- Using distributed or parallel set-up in script?: NA

### Who can help
 
 Trainer: @sgugger
 -->

## Information

Model I am using (Bert, XLNet ...): BERT

The problem arises when using:
- [ ] the official example scripts:
- [x] my own modified scripts:

The tasks I am working on is:
- [ ] an official GLUE/SQUaD task:
- [x] my own task or dataset: 

Basic Single Sentence Classification Dataset loaded via a Dataset class

## To reproduce

Steps to reproduce the behavior:

1. Use the trainer training function with `training_args.evaluation_strategy = EvaluationStrategy.EPOCH`


## Expected behavior

Evaluation should happen after each epoch ends, but instead it happens after each step (batch).

Indentation bug

## Suggested Fix


Move the if condition on line https://github.com/huggingface/transformers/blob/master/src/transformers/trainer.py#L829 to before line https://github.com/huggingface/transformers/blob/master/src/transformers/trainer.py#L834 and remove 1 indentation block
