Rules engine

A base rules framework that reads in rulesets defined in JSON files.

The new character generation pulls in these rules to define what is available.

Right now everything pretty much just has a "name" field that has the UI-presentable value, but could be extended to include other attributes like maybe class attributes, racial bonuses, etc.
do we need to log the whole character object when we save it?