Extract logic to DLL

 * ```LessMsi-cli.exe``` has the existing ```NDesk.Options```-based command-line handling (without the OpenGuiCommand).
 * ```LessMsi-gui.exe``` takes the first command-line argument (if any) and uses it as the ```defaultInputFile``` without any further processing.
 * I merged the different ```bin``` directories in the project directories into a single shared ```bin``` alongside the ```src``` directory to reduce the amount of DLL copying required in the build process.
 * I did not check that the unit tests still pass, because the ```ExpectedOutput``` CSVs are hardcoded to a different path than my local Git clone.

See issue #19