Modified YUICompressor class to use argparse4j

Rewrote the main method of YUICompressor to utilize the argparse4j
[http://argparse4j.sourceforge.net/] library vs the jargs library.
This allows passing in a fully qualified path/filename|wildcard.  Also
added the -od parameter that allows you to specify an output directory
when the minimized files will be placed.

Making this changes allow yuicompressor.jar to be used as an ANT task,
such that it can take a fully qualified path for the files to compress,
as well as specify an output directory where those compress files are
written to.
Modified YUICompressor to use Combiner

Merged in the functionality from Combiner developed by Nicholas C.
Zakas.

This change now enables the script to combine and minify JavaScript and
CSS files.

Usage: java -jar yuicompressor-@VERSION@.jar [options] [input file(s)]

--version               Print version information, and halt
--help                  Displays this information
Global Options
-v, --verbose              Display informational messages and warnings
--nominify                 No not remove whitespace
--seperate                 Write a seperator to any combined output
--line-break <column>      Insert a line break after <column> number
characters
-t, --type <js|css>        Specifies the type of the input file
-c, --charset <charset>    Read and write files using <charset>
-O, --outdir <dir>         Write any files into the <dir> directory
-I, --indir <dir>          Read file(s) from the <dir> directory
-C, --combine <file>       Combine all processed files into a single
output file
-o, --opattern <pattern>   Rename the output file(s).  If specified with
--combine,
will override that name as well.
Multiple files can be processed using the following syntax:
java -jar yuicompressor.jar -o '.css$:-min.css' *.css
java -jar yuicompressor.jar -o '.js$:-min.js' *.js

JavaScript Options
--nomunge                  Do not obfuscate
--preserve-semicolons      Preserve all semicolons
--disable-optimizations    Disable all micro optimizations

[input file(s)]              File list to process.  This list can
contain wildcards.
If -I|--indir is specified, this list should contain no non-relative
file-path/names.
If no -I|--indir value is specified, this list can contain
fully-qualified file-path/names.
If --type is specified directly, or passively from file-extensions via
--combine or --opattern,
any files that do not match the type will be ignored.