How do I get rid of an unconfirmed transaction on Bitcoin Core 0.14.1?
Since 0.14.0 the mempool is stored on disk when Bitcoin Core is closed. To apply -zapwallettxes to remove a transaction you also have to delete the mempool.dat as the transaction is otherwise reintroduced into the wallet when the mempool is imported. 

To remove an unconfirmed transaction with 0.14.0 you have to:


Shut down Bitcoin Core.
Find your Bitcoin directory
Delete mempool.dat in the Bitcoin directory
Start Bitcoin Core with -zapwallettxes


Previous versions didn't persist the mempool to disk, so step 1. and 4. are sufficient to remove an unconfirmed transaction.
The interaction of -zapwallettxes and the persisted mempool was fixed with Bitcoin Core 0.15.0, so it is sufficient to set -zapwallettxes after that again.