Fixed mysterious crash, added try/catch blocks

More information can be found in issue #8.
Symptom: Sometimes, when uploading a file from the context menu, the
application would crash post-upload; after copying the file to the
clipboard but before adding the upload to the history.

Cause: If the form had never been shown, it would not have a handle and
when form1.Invoke() is called to store the history item, an
InvalidOperationException is thrown.

Solution: Specifically request the form's handle with
"IntPtr ptr = form1.Handle"
prior to calling Application.Run(). This forces the form's handle to be
created and alleviates this problem.

Additionally, try/catch blocks were added around the Application.Run()
call as well as around the function called to handle new arguments to help
catch all crashes and exceptions and log them.