Fix NPE when reflection remapping is used without access map
Rework access map to never decrease visibility

Now will only upgrade, from private->default->protected->public.
Useful for modifying access with wildcards, e.g. classname.* protected
to change all fields in the class to protected -- except those which
are already public. This matches FML's access transformer behavior.
Add support for loading single AT patterns in AccessMap

In addition to filenames and URLs, loadAccessTransformer(String) now
accepts the literal "pattern:" followed by an access transformer line.
Useful for adding individual transformations without a new _at.cfg.
Add convenient alias to private visibility

Since AccessMap never downgrades visibility, 'private' in AT is
effectively equivalent to 'no change'. Useful in case you want to
change other flags but not the visibility. Accept '*' as private.
Add support for access map '**' pattern to match all symbols

Classes, fields, and methods. Also add some documentation of
this ever-expanding file format.
[maven-release-plugin] prepare release SpecialSource-1.4
[maven-release-plugin] prepare for next development iteration
Add class name to JarMappingLoadTransformer field/method

Not used by CSVMappingTransformer, since the CSVs only contain:
    func_###,newname
    field_###,newname
with no class name, but it could be used by other load transformers.
Add method descriptor to JarMappingLoadTransformer

Again, not used by CSVMappingTransformer, but could be used by other
transformation classes to be written.
Add loading of numeric "srg" names from MCP directory

Normally, loadMappingsDir() loads:

    obf -> num -> pkgmcp

but with numericSrgNames, it loads:

    pkgmcp -> num

where:

obf = obfuscated "notch" names
num = numeric "srg" names
pkgmcp = descriptive "csv" names

This implementation could probably be improved further.

Compatibility Note: --numeric used to load these mappings:

    obf -> num

that is, ignoring the fields/methods.csv. But this turned out not to
be too useful. You can still get this mapping with ignoreCsv=true, but
now numericSrgNames and --numeric loads the much more useful mapping:

    pkgmcp -> num

Useful for targetting FML runtime deobfuscation.
Fix command return status on error
Feed in the original ClassReader to ensure the constant pool is not excessively mangled.
Reverse-mergecommit 43688dd80b6690b94eec71dccfa18915c6ff2ae2
Improve exception message on noncomparable jars

Show the mismatched number of symbols
Add support for \-style paths in remote mapping file downloads
Quick code format in preparation for repackage.
Update POM & depends
Refactor a few classes into packages.
Rewrite Jar class.
Refactor and rename transform classes