Revisions and creations

Wrote a readme.
DifficultyExtensions was getting too big, decided to migrate difficulty
extensions pertaining specifically to problems to
ProblemDifficultyExtensions.
I think I will continue with this method, unless/until something better
comes to mind.
Problem generation is largely complete, I think.
Running the program now will provide a quick test, displaying operator
frequencies for the various difficulties and some random problems for
each difficulty.

INTERESTING ISSUE: unless I wait between creating problems, I create the
same problem over and over again. Weird. Not sure why.