Add character rule class
Put rule classes in their own files
Add string rules
Add helper functions for making shared pointers to rules

- start work on item set class