Last time I had a similar issue with a motorcycle, it turned out to be a worn out starter motor (just had to replace its brush assembly). Have you tried jumping the starter solenoid yet by running a wire across both its terminals?