Remove code duplication in sgen-descriptor and moved scan macros to sgen-scan-object.h