Resolve shortcuts on Windows. Fixes #173.

This PR tries to resolve shortcuts on Windows if we first failed to execute the requested file.

This way we can avoid any overhead that might come from checking if the file is a shortcut. I'm not sure how performance critical do you see this, should I just check if it's a shortcut and resolve it before even trying to execute it?

Sadly I haven't tested the MinGW version, only the MSVC. Does Travis check at least its compilation for me?

Fixes #173.