The fact that it cranks when you jump the solenoid connection to the battery lug on the relay tells me that there is a good ground at the solenoid coil. I would bet you either have and issue with the ignition switch, the ignition switch connector or the bulkhead connector on the firewall.