beer-song: Adopt functional style

As discussed in #79.

The original "Beer.sing" method is replaced by a "song" function -
"song" being on the same level of abstraction as "verse".
Merge pull request #84 from sjakobi/functional-beer-song

beer-song: Adopt functional style