Add entity modeling and fields

Also define a basic entity for Host

This a very basic implementation to allow the creation of a basic factory. More fields and entities will be added as the development goes.

Related to #915
I can haz docstring?