Updates to allow customized template parameters and outputting to stdout

I've added a few updates that I needed to use this code in my workflow.  If you don't specify an output file (-f) the output will now be sent to stdout.  I've also added 4 optional parameters that correlate with the underscore template parameters in case you are dealing with templates that require a different set of rules. 

Also I added a quick check to see if a template directory was included as an argument.  If its not a friendly error is thrown and the argument help screen dumps.  This should avoid errors with people running the command for the first time without arguments so they can see what is expected of them.