Save screenshot of hero/class when detection fails

Golden heroes currently aren't being detected (see #278) and we don't have the data we need to work out how to detect them because I don't have an golden heroes myself! This code saves several screenshots of a hero if its detection fails, so that the user can send the screenshot to use for analysis later.

As part of this change I also changed some existing pixel locations from a 1024x768 to a 1600x1200 basis so that all locations are expressed in consistent terms.
Added detection of golden hunter

See #231 and #278
Improved error handling when config is saved

Will now log the exception if there is a problem saving the config.ini (or OS X equivalent) file. See #263
Increased maximum memory JVM setting

The HearthStats Uploader is currently running out of memory on Windows if it is left running for a few hours (see #264 and #279). This may be a memory leak, but until that can be determined I have increased the maximum memory allowed for both Windows and OS X to reduce the risk of a failure due to running out of memory.
General cleanup

Changes rank into an enum to allow us to support legend rank in future. Fixed a few messages and variable names.
Initial support for submitting legend rank to HearthStats
Initial design of match end popup

Implemented a popup that can be displayed at the end of a match to allow the match to be edited. The popup is implemented however I haven't yet code to display it at the end of a match.