Rewrite if/else/while/do handling in js formater

In order to fix issue #53, I had to a go a long way around.  Ran into some clean up opportunities on the way.  
 
This set of changes in only in the js beautifier.