Use correct "program files" location for Windows

Fixes #139
Fix some compiler warnings
freeLinkedList(NULL) no longer crashes
Calling freeCharString(NULL) no longer crashes
Add method to print user-friendly system errors
Nicer error messages when failing to load lib

Fixes #144
Nicer error message when failing to launch exe