Adds cleric class and spellcaster base class

A cleric is a spellcaster. Sorcerer has been refactored to use
spellcaster base class.

Fixes #16