Can't use AutoModelForCausalLM with bert
# 🐛 Bug

## Information

Model I am using (Bert, XLNet ...): bert-base-uncased

Language I am using the model on (English, Chinese ...): English

The problem arises when using:
* [ ] my own modified scripts: (give details below)
Here is a simple 3 lines of code you can try to replicate the bug:
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained('bert-base-uncased')
model = AutoModelForCausalLM.from_pretrained('bert-base-uncased', is_decoder=True)

The tasks I am working on is:
XSUM / CNNDM summarization

## To reproduce

Steps to reproduce the behavior:

1. run the first 2 lines of code I put in the script section
2. run the first and third line of code I put in the script section

<!-- If you have code snippets, error messages, stack traces please provide them here as well.
     Important! Use code tags to correctly format your code. See https://help.github.com/en/github/writing-on-github/creating-and-highlighting-code-blocks#syntax-highlighting
     Do not use screenshots, as they are hard to read and (more importantly) don't allow others to copy-and-paste your code.-->

If you run the second line of code, you get:
AssertionError: If you want to use `BertLMHeadModel` as a standalone, add `is_decoder=True`.

If you run the third line of code (add is_decoder=True), you get:
TypeError: __init__() got an unexpected keyword argument 'is_decoder'

The first error occurs because it creates a default bert-base-uncased config, which does not set is_decoder to True. This is reasonable behavior. 

The second error occurs because when you pass in is_decoder=True, it correctly gets added to the config, but is incorrectly passed to the model __init__. In this case, BertLMHeadModel's init ONLY takes a config - it does not accept ANY kwargs. Thus we crash. I don't think this is intended behavior - I feel like its reasonable to think you can pass in is_decoder to the config you want to create in AutoModelForCausalLM without crashing.

## Expected behavior

I expect if I run the code AutoModelForCausalLM('bert-base-uncased'), I will get back a BertLMHeadModel back with the is_decoder flag set to true in the config. Alternatively, I expect if I run the code AutoModelForCausalLM('bert-base-uncased', is_decoder=True) to get the same result.

## Environment info
<!-- You can run the command `transformers-cli env` and copy-and-paste its output below.
     Don't forget to fill out the missing fields in that output! -->
     
- `transformers` version: 3.0.0
- Platform: Linux-3.10.0-862.14.4.el7.x86_64-x86_64-with-centos-7.5.1804-Core
- Python version: 3.7.3
- PyTorch version (GPU?): 1.4.0 (False)
- Tensorflow version (GPU?): not installed (NA)
- Using GPU in script?: tried with both
- Using distributed or parallel set-up in script?: no

Can reproduce :-) Opened a PR to fix it - thanks for the issue @sshearing !