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.
Changed handle creation method to something more reliable
Merge pull request #9 from snoozbuster/master

Fixed mysterious crash, added try/catch blocks