Java Classwork #4 (WordThing)
04) Create a non-static class named 'WordThing' in its own file.  The class should
    contain a single constructor that takes a single string as its argument.  The
    constructor should store the value of the submitted string in an internal
    class variable (which, along with any other internal variables in the class,
    should be private).  You may assume that the submitted string will contain
    only uppercase and/or lowercase letters (no spaces, numbers, punctuation,
    etc.).  The method 'main' and the keyword 'static' must not appear anywhere in
    the 'WordThing' class.  The class should contain the following public methods:

       displayWord
          Arguments:  None
          Displays:   The "active" word (by itself, on its own line)
          Returns:    Nothing
       -------------
       countLetters
          Arguments:  None
          Displays:   Nothing
          Returns:    An integer equal to the number of characters in the "active"
                      word
       -------------
       reverseWord
          Arguments:  None
          Displays:   Nothing
          Returns:    A string containing the characters in the "active" word in
                      reverse order (you must use a 'for' loop)
       -------------
       changeWord
          Arguments:  A single string
          Actions:    Changes the "active" word to the new input
          Displays:   Nothing
          Returns:    Nothing


ADVANCED OPTION #1 FOR CLASSWORK #4
    To the 'WordThing' class, add another public method named 'alphabetize'
    that returns a string containing the letters in the "active" word in
    alphabetical order (ignoring case).

ADVANCED OPTION #2 FOR CLASSWORK #4
    To the 'WordThing' class, add another public method named 'variations' that
    returns an ArrayList of strings of all of the different permutations of the
    letters in the "active" word.  So, for example, if the word is "cat", then
    your method should return an ArrayList consisting of these six strings:
    "cat", "cta", "act", "atc", "tac", and "tca".  If a word contains more than
    one of the same letter (e.g., "animal", "cook", "situation"), make sure
    your returned ArrayList does not contain any duplicate entries.  So, for
    example, for the word "too", your method should return an ArrayList that
    has only three words in it:  "too", "oot", and "oto".