Fixed a bug in the Profession DSL

Level bonuses and development costs were overridden by each successive declaration, instead of been combined.
First pass at implementing skill categories

There's a significant drawback to this implementation. Since the development costs are set for all the skills in a category when a character object extends the profession module, way too many skills are instantiated at runtime, and most of them are useless (eg. all spell lists).

We need to find a way to defer the setting of the development costs until they are actually needed (ie. when adding ranks).
Fixed a typo
MAJ des gems
Added some extra comments
WIP
nil can be added as a bonus to a BonusReturner

This allows the passing of a value to #add_bonus without checking that it is not nil first.
WIP 2
WIP 3
WIP on the new approach

The approach being, basically:

* CharacterSkill are objects used to track a character's skill (ie. the lines on the character sheet).
* "System skills" are modules that extend each relevant instance of a CharacterSkill (eg. CharacterSkill.new.extend(Climbing))
* These modules are defined through a DSL to simplify their setup

TODO

* Rename Skills::Skill in Skills::CharacterSkill
* Finish the DSL
* Scope the "system skills" in something like Skills::List
* I probably forgot a few other things
New implementation of the skills system