You said you cleaned the terminals, but have you cleaned where the earth wire connects to the chassis and/or engine block? Could be a poor earth.
Also check the wires on the back of the starter. make sure they are clean and tight. Check the starter is bolted up tight too.
If that is all good, run a wire from the positive battery terminal and touch it to the small wire on the back of the starter motor solenoid. Make sure you're not in gear and you aren't going to get anything caught in the fan.
If it spins over properly, you have a bad connection between the battery and the key, or the key and the starter solenoid wire. This means as soon as the solenoid throws out, the voltage drop caused by the starter spinning causes the solenoid to drop back. That stops the starter spinning and the voltage goes back up, causing the solenoid to throw out again.
If it still chatters, it could be worn contacts in the starter solenoid. It's just a big electro-magnet. When the key sends power to it through the little wire, it shoots out, pushing the starter gear onto the flywheel. At the same time, it closes 2 big contacts inside it, usually big copper blocks. This lets power flow from the big positive wire from the battery across to the actual starter, which makes it spin.
From the description, I would definitely think its poor connections.
Also, you may know everything I've mentioned, but if not, I've tried to explain it in a way anyone who comes up with the same issue can follow. People with older vehicles seem to be more willing to work on them themselves, rather than paying for someone else to fix them. Much of our forum shows up in Google searches. I actually searched something once and found I'd actually answered it in one of my threads, then forgot it.

Greg.