Third version of the component spec

- No longer need ComponentHolder
- No longer need "Entity"Component.
- No longer need to type Component to a holder

Start writing out a test implementation. Currently unfinished as this
commit is to show the API changes.

Hitting a brick wall with the last part of the spec...getting components
from an object in a system.

Signed-off-by: Chris Sanders <zidane@outlook.com>