WordTokenizer `build_vocab` constructs character-based vocab instead of words
**Describe the bug**

`WordTokenizer` should construct a vocab out of the words in a string, e.g., ['A word here'] -> ['A','word','here']. Instead, in constructs a character-based vocabulary due to its re-use of the `CharTokenizer` code. Additionally, if a properly constructed vocab is attempted to be loaded, it fails due to the error checking that is again inherited from `CharTokenizer`.

**Steps/Code to reproduce bug**

For constructing vocab:
```python
>>> from nemo.collections.common.tokenizers import WordTokenizer
>>> WordTokenizer.build_vocab('/tmp/vocab-georgea0729.txt', 'A word goes here')
>>> with open('/tmp/vocab-georgea0729.txt') as fh:
...     print(fh.readlines())
... 
['{}\n', "' '\n", "'e'\n", "'o'\n", "'r'\n", "'A'\n", "'w'\n", "'d'\n", "'g'\n", "'s'\n", "'h'\n"]
>>> tokenizer = WordTokenizer('/tmp/vocab-georgea0729.txt')
>>> tokenizer.text_to_tokens('A word goes here')
['A', None, None, None]
>>> tokenizer.text_to_tokens('A e w o h')
['A', 'e', 'w', 'o', 'h']
```

For Loading vocab:
```python
>>> with open('/tmp/georgea-manual-vocab0729.txt', 'w') as fh:
...     fh.write("{}\n'A'\n'word'\n'goes'\n'here'\n")
... 
28
>>> tokenizer = WordTokenizer('/tmp/georgea-manual-vocab0729.txt')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/conda/lib/python3.8/site-packages/nemo/collections/common/tokenizers/word_tokenizer.py", line 49, in __init__
    super().__init__(
  File "/opt/conda/lib/python3.8/site-packages/nemo/collections/common/tokenizers/char_tokenizer.py", line 134, in __init__
    self.check_token_from_file(token, vocab_file, i)
  File "/opt/conda/lib/python3.8/site-packages/nemo/collections/common/tokenizers/char_tokenizer.py", line 241, in check_token_from_file
    raise ValueError(
ValueError: Each line in vocabulary have to be a Python string literal containing 1 character. Encountered 'word' on line 1 in file /tmp/georgea-manual-vocab0729.txt.
>>> 
```


**Expected behavior**

```python
>>> from nemo.collections.common.tokenizers import WordTokenizer
>>> WordTokenizer.build_vocab('/tmp/vocab-georgea0729.txt', 'A word goes here')
>>> with open('/tmp/vocab-georgea0729.txt') as fh:
...     print(fh.readlines())
... 
["{}\n", "'A'\n", "'word'\n", "'goes'\n", "'here'\n"]
>>> tokenizer = WordTokenizer('/tmp/vocab-georgea0729.txt')
>>> tokenizer.text_to_tokens('A word goes here')
['A', 'word', 'goes', 'here']
>>> tokenizer.text_to_tokens('A e w o h')
['A', None, None, None, None]
```




