Option to jade cli to customize client-side template function names

A patch to add the ability to customize the name the template function is exposed as. Based on the comments in #1354 . Includes Command line and API options with unit tests.

`jade.js --client --no-debug -e myTemplate template.jade`
or
`jade.js --client --no-debug --expose myTemplate template.jade`
or
`jade.compileClient('p foo\np #{bar}', {compileDebug: false, expose: 'myTemplate'});`
all generate JavaScript with
`function myTemplate(local....`

The default name is `template`, same as current behavior, if no option -e or --expose is provided. 
If the custom template name is 'auto', it will use the file name to name the function. eg. if the file name is ABC.jade, the template method name would be ABC.