Russian translation

Added Russian translation, thanks to @jcrka for writing this! (See #279)
Added acknowledgement for jcrka
Made detection of match end more forgiving

Changed some of the detection logic to make it more likely to detect the end of a match:
* when a full match fails, partial match now doesn't reject a match due to multiple partial matches if those partial matches are for the same type (eg if a Stranglethorn and a Stormwind end screen both match, that's OK: they're equivalent)
* if no screens match for ten iterations, now starts matching against *all* screens instead of the limit set of expected screens (so if the match end is missed, match end can be detected on the play screen etc)
* widened the pixel range for detection of the Stranglethorn match end screen, based on the screenshot in #271
Replaced embedded strings in match popup so that it can be translated
Added warning when hero class not detected

The message asks people to submit the class screenshots to #231
Improved turn detection

Turn detection now skips the first two iterations so that cards flying over the turn button don't trigger a false positive.
Updated recent changes for v0.17
Added Windows icon
Updated version to v0.17.0
Merge remote-tracking branch 'origin/master'
Added extra rank images for JUnit testing rank OCR

See #282
Merge branch 'master' into maven
clarify these 2 classes as singleton pattern
Improved logging of out-of-memory errors

If the HearthStats.net Uploader runs out of memory, it should now display that error in the log window before it dies. Previously it would quietly stop doing anything, and you'd have to check your log.txt file to see what was wrong.
dynamic popup first step : rank
finish dynamic popup with deck zone
clarify these 2 classes as singleton pattern
dynamic popup first step : rank
finish dynamic popup with deck zone
finish migration to maven