Separated cli parsing and options out of merger and into its own classes.

Changed the namespace. Used args4j instead of regex for parsing cli options. Removed invalidruntimeargexc since it's no longer used.