Add CLI alternate syntax for shade relocation

--srg-in ../jars/1.4.7/cb2pkgmcp.srg --shade-relocation net.minecraft.server=net.minecraft.server.v1_4_R1,org.bouncycastle=net.minecraft.v1_4_R1.org.bouncycastle
--srg-in ../jars/1.4.7/cb2pkgmcp.srg@net.minecraft.server=net.minecraft.server.v1_4_R1,org.bouncycastle=net.minecraft.v1_4_R1.org.bouncycastle
Add CLI support for multiple --srg-in mappings

You could always load multiple mappings by calling loadMapping()
multiple times (as in MCPC+), but now it is also supported for
command-line usage. --srg-in mapping1.srg --srg-in mapping2.srg...
equivalent to cat mapping1.srg mapping2.srg.
Add opencsv dependency
Add support for reading mappings from directories

MCP conf directories: packaged.srg, joined.srg or server.srg+client.srg
Refactor ShadeRelocationSimulator into JarMappingInputTransformer

JarMappings loaded from disk are now transformed through a
JarMappingInputTransformer interface, which can arbitrarily
transform classes on loading. Currently only implemented
by ShadeRelocationSimulator.
Fix incomplete shade relocation of .srg files

.csrg OK
Read fields/methods.csv for MCP directory mapping loading

You can now specify an MCP config directory with --srg-in and
the .srg will be loaded along with the fields.csv and methods.csv
mappings, providing descriptive "csv" names instead of the
numeric "srg" names. Example usage:

java -jar target/SpecialSource-1.3-SNAPSHOT-shaded.jar --in-jar ../jars/minecraft_server-147.jar --srg-in ../MinecraftForge/mcp/conf/ --out-jar /tmp/minecraft-server-pkgmcp.jar

For compiling mods against the minecraft-server-pkgmcp.jar
as a library, an alternative to recompiling all of Minecraft
by using MCP (much faster, like compiling Bukkit plugins).

Note: if the fields.csv and methods.csv are not present, the
numeric "srg" names will be loaded instead.
Add support for loading mappings in reverse

--srg-in ^filename will load the mappings as if they were reversed.

This is a decoration on the filename instead of a separate command-
line option flag so it can apply to the particular mapping file,
when loading multiple mappings simultaneously.
Disable reading .srg 'PK:' mappings for now

Example from packaged.srg:

PK: . net/minecraft/src
PK: com com
PK: net net
PK: net/minecraft net/minecraft
PK: net/minecraft/client net/minecraft/client
PK: net/minecraft/server net/minecraft/server

SpecialSource package remaps currently are class prefix matches,
taking precedence over class remaps. So net->net would match all
net.* classes when using reversed MCP (for reobfuscation), causing
no classes to remap. However the current behavior is useful for MCPC+,
remapping entire package hierarchies. Probably both behaviors should be
supported at some point, but until they are, disabling .srg PK:.
Add reverse and output shade relocation flags

Removed the ^/@-style input specifications, in favor of
command-line options (which apply to all mappings loaded):

--in-shade-relocation: applies to srg-in input names
--out-shade-relocation: applies to srg-in output names
--reverse: reverses srg-in input/output names

Output shading relocation is useful if remapping through
--srg-in obf2cb.srg, and you want versioned names to match CB.
Remove deprecated