You claim that you are running
But then you say
abandontransaction didn't exist until 0.12.0
Did you upgrade after sending your transaction, or were you actually running the very recent 0.12.0 and not the 0.8.3 that you thought you were running?
Assuming that you are running some version of Bitcoin Core, it will not "drop out of the memory pool at some point and return to my wallet" on its own. Bitcoin Core is designed to remember the transactions that you have sent and re-braodcast them regularly to remind the rest of the network if they drop the transaction from their memory pool.
If you want your Bitcoin Core to drop the transaction from it's memory pool, you'll need to tell it to do so.
Once option is to run the wallet with the -zapwallettxes command line option.
Another option is to broadcast a different transaction that uses at least one of the same inputs and pays a high enough fee to get confirmed. Once the new transaction becomes confirmed, your old one will become invalid so your wallet will drop it.
If you want to broadcast a different transaction that uses at least one of the same inputs, I can help you build and broadcast it. You'll just need to provide the raw transaction.
You can get the raw transaction by running the following in the console: