Support unannotated lyrics

I wasn't 100% sure what to do if someone called Lyric#annotation on a
lyric that isn't annotated. I opted to raise a LyricError instead of
doing something unexpected like returning nil, or returning `self` which
wouldn't support things like calling `id`, `song`, etc.

This all works well enough for now. I think maybe in the future we'd
want to combine Annotation into Lyric and lose the distinction.

And now between this request and the actual code I've typed annotation
so many times it no longer looks like a real word.

Closes #5