made class slot functions accept lists of classes and return
mapcan/appended results

This was primarily to simplify code building up lists of direct-slots
to be excluded from serialization
fixed some bugs with has-reader? has-writer? and has-slot? introduced
in the previous patch