Restructuring of ESCore and ContainerMapInterface.

Refactoring necessary in order to make the ComponentContainer type
more flexible and get rid of the 'getName' and 'serialize' functions
that currently exist inside of the BaseComponentContainer class. These
functions are specific to a particular application of the entity system
and do not belong in this module.