[AutoDiff] Store original declaration in `DifferentiableAttr`. (#27985)
Store original `Decl *` in `DifferentiableAttr`.
This is important for requestifying
`DifferentiableAttr->getParameterIndices()`: we want the ability to
resolve parameter indices without needing to pass the original
`AbstractFunctionDecl` to `getParameterIndices`.
Add round-trip `@differentiable` attribute AST serialization test.
`@differentiable` attribute type-checking and serialization assert
that the original declaration is set.