Option to suppress or change "Generated by" header (#2353)

This PR resolves #2353 **Make "// Generated by CoffeeScript" optional**.

Although the header can be suppressed programmatically with `options.header`, this allows the header to be  also be suppressed from command-line invocation with the -g/--generated flag.

Additionally, there are cases where the first line of a file is required to be non-JS (i.e. for a shebang).  The author may still want to retain the CoffeeScript version information while allowing custom formatting.  Therefore `options.generated` can be set to a formatting function which is passed the compiled JS and `CoffeeScript.VERSION`, and returns the formatted output.