Add persisted getTags to BrooklynObject

- no longer just Entity
- deprecate tag methods on Entity (getTags/addTags/etc), and now have
  getTagSupport() so that the Entity interface doesn’t get as cluttered.
- adds requestPersist() to AbstractBrooklynObject
Push managementContext up to AbstractBrooklynObject
ChangeListener: use BrooklynObject

- instead of having separate methods for Entity, Location, etc,
  just have one for BrooklynObject.
- move requestPersist() impl up to AbstractBrooklynObject
Tidy Internal*Factory

- deprecates isNewStyleEnricher etc, in preference for general
  InternalFactory.isNewStyle