Added a new class - .leaf - to single-line and requirement

The new class identifies these elements as leaf level nodes
 during purging - even though they have child nodes of their own
karo.empty made recursive and comprehensive

* How * a node is purged will be determined by the following 3 classes
  1. purge-blind => retain 'node' but blindly remove everything within it
  2. purge-destroy => remove the node and everything within it
  3. purge-skip => dont do anything to the node or its contents
  4. (default) => empty the node recursively, taking into account the above
     three class attributes on its children

The nopurge-on-* class attributes - set on ul.nav-tabs - tell us * when * to
purge

The two sets of attributes together determine what is purged, when and in what manner
New purge-* class attributes set for the quiz-builder

Same thing will need to be done for other tasks