Using a map to store Data objects, keyed by id

Fixes #23
Object validation in separate class

Moved validation logic into eeml.validator.Validator so one can turn off these
checks using eeml.invalidator.Invalidator. Fixes #24