Bugfix for last stanza going missing and small refactor

Hi @robsyme

I found a small bug in the way that the stanzas were being read in - the last one was being dropped; this has been fixed in the third commit.

I hope you don't mind the OCD cleanup in all the other commits.  If you rather not have the other stuff and just the bugfix let me know and i'll put in a different pull-req.

Cheers,

Daz

P.S. Cheers for the awesomely simple gem - the way you've used Enumerators is most useful (it doesn't choke on large ontologies like most other libs)! :)