Fix dropout backward in TEST phase

This PR just add the option to pass gradients backwards during the `TEST` phase.
Should this be a call to `ShareDiff()` instead of a copy? Then you wouldn't need the pointer checks either.