Updated ini-dotnet
Added global exception handler
Added support for Windows XP and Vista

Removed unused constants
Shortened shortcut length

- Current working directory not included if it's the same as folder that
  contains target executable.
- Arguments not included if they are an empty list.

Rationale = save as many characters as possible due to MAX_PATH limitation. I
ran into use case where my custom program arguments were lost due to brutal
trimming done by OS.