Lyricsbot Refactor

- general code and style overhaul
- support for singing the whole song
- support for stopping halfway through a song
- slightly more generalized regexes

Why are we hardcoding the channels here? Seems like a great spot to use environment variables.