added flexibility to entities

Added support for a variable amount of args and keyward args to entity
classes to support dynamic data handling (i.e. if someone wants the
players to have energy and other people don't, both are supported.
Also changed current player data to be part of standard data dictionary,
rather than separate variables.