Graded Homework 5

##### Grade: 5/5

First things first - what an impressive program you've written up, @swalters4925! If I were you, I would be proud to submit this in a resume. I had such a great time exploring your code. I have a few minor comments, and you should look them over, but kudos to you for the level of excellency displayed.

- Awesome way of dividing up your code into modules. The only thing I would have done differently is have a separate module for the syllable functions in rhyme.
- Really, really great documentation. I personally would have had a tough time following your code without them. In other words, you have an excellent understanding of the concept of "documentation".
- `get_word_count_dict` in gutenberg seems to generate a histogram of all the words that occur in the book. I don't think you ever use the word count aspect of the histogram anywhere. Was this a possible extension you were thinking of?
- In rhyme, you recreate the word-to-syllables dictionary each time you run the program. You do this
Could you have stored the dictionary in a separate file so as to not require a user to import `cmudict` and recreate the dictionary each time? (This is purely from functional efficiency point of view, so don't think too deeply into it until you get into [analysis of algorithms](http://en.wikipedia.org/wiki/Analysis_of_algorithms) (mostly time and memory complexity).)
- I found it particularly interesting that you used levenshtein as a heuristic for how closely two words rhyme. My only question (because I honestly don't know the answer) is, does it work?
    - For example, If my words were two that simply didn't rhyme (ie. fawn (`['FAO1N']`) and nunnery (`['NAH1', 'NER0', 'IY0']`)), what would their levenshtein be, and does that distance reflect their rhyming well?
    - On a similar note, how to people normally differentiate between exact and close rhyming?
- I have some more comments under `Files Changed` tab, so be sure to check those out as well!

Once you've read the comments, make a comment to the pull request or send me/Diana an email, letting us know that you've checked them out. Afterwards, close the PR (and optionally delete the graded branch). 

#### REMEMBER NOT TO MERGE THESE PRs!