Fix debug information loss in remapper preprocessor.

Only skip debugging information if not rewriting the class.
Fixes https://github.com/MinecraftPortCentral/MCPC-Plus/issues/802
[maven-release-plugin] prepare release SpecialSource-1.5
[maven-release-plugin] prepare for next development iteration
Add support for remote URLs in --read-inheritance
Catch all errors in getParents(), improves Java 8 compatibility

If the superclasses cannot be read in ClassLoaderProvider for any reason,
we ignore it and move on. This was the case before but the exception catch
was changed to only include IOError during the 1.5 refactor. This uncovered
an issue where on Java 8 inheritance traversal was hitting the Java 8 classes
in the JRE and throwing IllegalArgumentExceptions from ASM 4.1 since it does
not yet support the 52.0 classfile format.

To restore the previous behavior we change from catching IOException to Throwable,
including IllegalArgumentException. This will prevent correct inheritance trees
to be built on Java 8 classes however this is no worse than before and could be
fixed separately by an ASM 5 or 4.1.1 update once/if it is available.

For background see:
https://github.com/MinecraftPortCentral/MCPC-Plus/issues/841
Catch exception not throwable
Implement class reflection remapping for Class.forName("")

Remaps constant literals passed to Class.forName(""), similar to
the existing class.getDeclaredField("") remapping in RemapperPreprocessor.
Both reflection remappings use the jarMapping, if one is passed in.
Adds new APIs to enable/disable the respective reflection remaps.
Add support for remapping class name prefixes

Adds support for interpreting "CL: xxx/* yyy/*" in .srg for remapping
all class names beginning with xxx/ to yyy/. Previously this functionality
was only programmatically accessible when SpecialSource was used as a
library, but now you can use it from .srg mappings as well.

May be replaced with "PK: xxx yyy" support in .srg files later,
but needs to be first thoroughly tested for full compatibility,
to ensure identical semantics as in MCP (e.g. remapping ".").

Adding CL: /* class name prefix remapping for now, separate from PK:,
which simply remaps class names matching the given prefix substring.
Add API generation option to JarRemapper

JarRemapper can now be configured to "generate an API", as part of
the remapping process. The output classes will only have the symbol names
(remapped, of course), but no executable code. Useful for projects to
build against this generated API.
Exclude resources from generated API jar