Move annotation handling to the base Descriptor class
I'd like to be able to have annotations on any kind of descriptor, not just on ServerDescriptors. Can we move the annotation handling to the base class so that all descriptor types can inherit it?