Further feat refactoring

* Added Feat back as complex object, with name and specific application
(for prificiencies and such)
* Added a bunch more tests to the feats generator
* Fleshed out most tests for the feats generator
* Got basic functionality in the feats generator (but not all tests pass
yet)