Fixing unmarshaling crash when restoring result receiver

There are two possible causes for this error, both plausible and fixed by this commit:

1. Since I was using `ResultReceiver.class.getClassLoader()` instead of `CallbacksReceiver.class.getClassLoader()`, there is a chance that `Parcelable` instance was using the default class loader instead of the app one.
2. `Parcelable` implementation might fail if the object being restored was `null`. In order to avoid such cases, we are not saving the result receiver if it's `null` (using a `boolean` flag control such cases).

@eveliotc Since I was not able to reproduce this on the phone, and Genymotion is still not working for me, I'd really appreciate if you could test and see whether the bug was actually fixed.