Serial slots can save to a different slot than their pull slot.

If it is trying to save an OutputSlot, it does not make sense to call
setValue() on it. In these cases there should be a different InputSlot
that takes the deserialized results.
added check for OutputSlot in SerialSlot
saving object workflow does not trigger prediction.
classes that inherit from SerialSlot use all arguments
reduce line width