Add AbstractEntity.addChild(EntitySpec)

- Use that in preference to:
  addChild(getEntityManager().createEntity(spec))
  or:
  getEntityManager().createEntity(spec.parent(this))
- Adds EntitySpecs.spec(Map, Class)
Fix brooklyn CLI when AbstractApplication used

- if app overrides postConstruct, then ensure it gets called