changed requirements finding for EntityData and Scripts

Abilities and Controllers now have a getRequirements method that allows
them to specify which of their variables represents another file that
needs to be loaded. Also, this is probably the last commit before
merging with the master branch