text: Title: Issue:  text_classification_json dataset class does not do what it says it does
  Body: Unfortunately, I can't find any examples of what it "does" do, but it appears to take a file that is NOT in json format, but has a complete json representation on every single line of the file, with two keys:  "text" and "label".
  
  The code showing that is in its _read method:
  ....
  def _read(self, file_path):
          with open(cached_path(file_path), "r") as data_file:
              for line in self.shard_iterable(data_file.readlines()):
                  if not line:
                      continue
                  items = json.loads(line)
                  text = items["text"]
                  label = items.get("label")
  ...
   
  
  in other words, every non-blank single line of the file must have:
  {"text": "my sample text", "label": "my_label"}
   or it fails. 
  
  
  So it really should be re-labelled to reflect what it really does, i.e. every non-blank line .
  
  So I am writing a subclass of it that does really do what it claims to do (i.e. read a classification dataset that is in json format), if anybody is interested.  The subclass will include properties for:
  
  instance_label: str=None :  key at top level of Json file that returns a list of document instances.  If blank, then the json file is considered to be in json list format (i.e. [ {"text": "text1", "label": "label1"}, ... ]
  text_label: str="text" :  Each document instance in the json file should have a key to refer to the text using this.  This will fill in the 'text' field in each output instance.
  label_label: str="label": Each document instance in the json file should have a key to refer to the label using this.  This will fill in the 'label' field in each output instance.
  
  I believe that the only methods I will have to override are _read and __init__   
  
  Would anybody be interested in this?  I can post the code for it (after I have written it and tested it out), if you are.
  
  
  
  