Entity change fixups

Made some changes in the hope that it makes exposing things to the
property grid easier.

- Removed the enum for entity property changed, now everything is done
with strings.
- Setup a central class to hold common entity property names.
- Routed Goat changed events through the entity.
- May entity properties no longer need to call TriggerChanged() since
their changes will be picked up by the goat object changing.