SEG_ID constants for XLNet misleading/off
https://github.com/huggingface/pytorch-transformers/blob/master/pytorch_transformers/tokenization_xlnet.py#L47 shows:
```
# Segments (not really needed)
SEG_ID_A   = 0
SEG_ID_B   = 1
SEG_ID_CLS = 2
SEG_ID_SEP = 3
SEG_ID_PAD = 4
```

These don't seem to be used anywhere in the repo, but I tried using them as a shortcut myself, and I'm not sure they're right. In contrast, for xlnet-base-cased, I get:

```
        self._sep_id = tokenizer.convert_tokens_to_ids("<sep>")
        self._cls_id = tokenizer.convert_tokens_to_ids("<cls>")
        self._pad_id = tokenizer.convert_tokens_to_ids("<pad>")
        print(self._cls_id, self._sep_id, self._pad_id)
```
```
3 4 5
```
Yes I will remove them. They are used in the `run_glue.py` example (like in the original TF repo) but they don't have any reason to be in the library it-self.

In XLNet segment ids (what we call `token_type_ids in the repo) don't correspond to embeddings, they are just numbers and the only important thing is that they have to be different for tokens which belong to different segments, hence the flexibility in the exact values (XLNet is using relative segment difference with just two segment embeddings: 0 if the segment id of two tokens are the same, 1 if not). See [here](https://github.com/huggingface/pytorch-transformers/blob/master/pytorch_transformers/modeling_xlnet.py#L926-L928).

It's in the XLNet paper but I should probably add a word or two in the docstring as well.<|||||>Ah, got it. Thanks! I had assumed that these were part of the token vocabulary. I didn't realize that there were more than two segment types.<|||||>By the way, the default [here](https://github.com/huggingface/pytorch-transformers/blob/master/examples/run_glue.py#L259) seems off—the [CLS] token for BERT is marked as part of segment 1/B, while the paper shows it as part of 0/A with the rest of the first input.<|||||>But that's another issue, and I'm not fully certain. Closing.