Changed up OM for Spells

Introduced first class object for CharacterSpellInfo. Will be more
useful for data binding.

Turns out Data Binding doesn't work on KVP because Key and Value have no
setters.