From the user's perspective, it's just an instruction error. For program-specific errors, we still have InstructionError::CustomError.
* Rename userdata to data Instead of saying "userdata", which is ambiguous and imprecise, say "instruction data" or "account data". Also, add `ProgramError::InvalidInstructionData` Fixes #2761