Add a test that says that 'isSingular' spans have to be at the bottom level.

Summary:
When translating, we replace a pair of 'isSingular'/'else' spans by
possibly a whole bunch of spans, one for each plural-form that a
language has.  This means that the spans must contain the actual text
to be translated.  If instead we have:

   <isSingular>
      <if foo>foo</if>
      <if bar>bar</if>
   </isSingular>
   <else>
      <if foo>foos</if>
      <if bar>bars</if>
   </else>

then we don't know how to automatically rewrite this for languages
with 5 plural forms.  Instead it needs to be
   <if foo>
      <isSingular>foo</isSingular>
      <else>foos</else>
   </if>
   <if bar>
      <isSingular>bar</isSingular>
      <else>bars</else>
   </if>
-- the 'isSingular' spans need to be distributed down.

I write a test that looks for this bad form, though I don't try to
automatically fix it (maybe possible, actually, but too much work for
now).

Fix the problematic file to distribute the isSingular spans down.

Get rid of class I started to write but ended up not using.

Allow isSingular nodes to be nested with each other.

We need to be able to support
   <isSingular(VAR_A)><isSingular(VAR_B)>text</else>text...

Test Plan:
Added a unittest case for this.

build/lint_i18n_strings.py exercises/reading_stem_and_leaf_plots.html

None

build/lint_i18n_strings_test.py

Reviewers: john

Reviewed By: john

CC: mattfaus, alpert

Differential Revision: http://phabricator.khanacademy.org/D3874