Use Decorator pattern for PropertyAnnotator

Replace the current compound BasePropertyAnnotator with individual
Annotator classes, using a Decorator to chain the data object
together.

Change-Id: I5aad6f1e24918f8c91c7daa144962dfe927b1d92