model: made all synchronisation explicit its lock

No functional purpose but it's cleaner if we let the model loader decide what lock it should
use rather than rely externally on it being the lock
model: added AnnotationProxyClass and AnnotationProxyMethod so we can mark them ceylon/ceylon.language#347

Otherwise the metamodel will not know what to do with them and throw