Adding a generic implementation of 'charm prerequisites', necessary for the database. Right now they are just mirrors of the scattershot requirements already in place, but the next step is to use these to replace much of the mess inside CharmImpl with much cleaner logic.
Merge branch 'master' of github.com:anathema/anathema
Merge branch 'master' of github.com:anathema/anathema into CharmDatabase
Using the new CharmPrerequisite to build the prerequisite list in the database.