Code cleanup and de-"clever"ification for mustache_helper.js

* fixed indentation
* consistent spacing "if (", ") {", "function ("
* explicit return statements, esp. for "!f()" at the end of a function
* a && b -> if (a) b

Also simplified and separated the "firstexist" and "firstnonempty" helpers from a can.each loop, so IDEs could pick up their definitions.

Commented several helpers.

Only style, no functional changes.
Also note that because you split that helper into two, you'll need to update two functions instead of one. I'm not really a fan of splitting those two helpers into two separate definitions, but if you really believe it makes the code cleaner, I'll allow it... 

PS: we also use this same principal with `with_page_object_as` and `with_current_user_as` helpers...