debug: Add some logging, to profile cheat load/merge/save time.
assets: Remove duplicate cheatfile entries.
front: Simplify cheat file opening syntax a bit.

Mirror try/catch/finally pattern used for writing the file.
cleanup: Change var names/scope, and polish doc in CheatFile classes.

No functional changes expected in this commit.

Numerous fields and a few methods have been made private.  Many fields
have also been made final.  Other than that, the only changes have been
to the javadoc/comments and to variable names to enhance readability.
cleanup: Rearrange methods in CheatFile classes for consistency.

No functional changes.
front: Use two constructors for CheatLine.

Ensures that the field interdependencies are correct.
front: Append newline to CheatLine at save, not construction.
front: Restructure CheatBlock/CheatLine hierarchy.

Before, CheatLine had two personalities.  It either represented a line
of text in the CheatFile, or it wrapped a CheatBlock object.  A flag was
used to discern the personality of an instance.

Now, CheatLine is a sibling to CheatBlock, and both descend from an
abstract base class, CheatElement.  CheatLines now only represent CRC
lines, goodname lines, and comment lines.
front: Add more methods to CheatCode to match patterns used elsewhere.
front: Throw IOExceptions from CheatSection/CheatBlock constructors.

Let the top-level ConfigFile class deal with the exceptions, the way it
does in the save() method.
front: Inline CheatCode.save.

Keep the loading and saving in the same class for parallelism.  i.e.
CheatCode doesn't have a method to load, so it shouldn't have a method
to save.
front: Test for null in add rather than save, in CheatFile classes.

Far fewer null tests required.  Save is an expensive operation.
front: Remove unnecessary null check in CheatSection constructor.

Reader will always be non-null, since this constructor is private and we
control all calls to it.
cleanup: Clarify between CRC and key in CheatFile class.

The key is a formatted string containing both the CRC and the country
code of the ROM it pertains to.
front: Fix key generation bug in CheatSection constructor.

The key is more than just the CRC.  This bug was always present, but the
variable renaming made it easier to spot.