## Issue
When transacting unspent inputs to a new address in own wallet, the qt registers it as 'payment to yourself' without showing the receiving address. That can only be seen in the details or via 'listunspent' command

## Can you reliably reproduce the issue?
Yes

## If so, please list the steps to reproduce below:
1. create raw transaction to own address with multiple inputs
2. send the raw transaction with a miner fee
3. overall balance stays the same minus miner fee, in the transactions tab shows 'payment to yourself' without the receiving address

## Expected behaviour
I'd expect the payment to show up as a received payment with (my own) recipient address and 'payment to self' tag.

## Actual behaviour
Qt client only shows miner fee as 'transacted' and shows what seems to be an empty transaction without a receiving address in the transactions tab.

## Screenshots.

![qtweird](https://user-images.githubusercontent.com/11705841/31320956-d335c23a-ac7d-11e7-99f8-c696437c7f99.png)

### What version of bitcoin-core are you using?
List the version number/commit ID, and if it is an official binary, self compiled or a distribution package such as PPA.

Core 14.02

### Machine specs:
- OS: Ubuntu 14.04
- CPU: amd
- RAM: 8G
- Disk size: 360Gb
- Disk Type (HD/SDD):Sata

### Any extra information that might be useful in the debugging process.


if(mine & ISMINE_WATCH_ONLY) involvesWatchAddress = true;
            if(fAllFromMe > mine) fAllFromMe = mine;
        }
        isminetype fAllToMe = ISMINE_SPENDABLE;
        for (const isminetype mine : wtx.txout_is_mine)
        {
            if(mine & ISMINE_WATCH_ONLY) involvesWatchAddress = true;
            if(fAllToMe > mine) fAllToMe = mine;
        }
        if (fAllFromMe && fAllToMe)
        {
            
            CAmount nChange = wtx.change;
            parts.append(TransactionRecord(hash, nTime, TransactionRecord::SendToSelf, "",
                            -(nDebit - nChange), nCredit - nChange));
            parts.last().involvesWatchAddress = involvesWatchAddress;   
        }
        else if (fAllFromMe)
        {
            
            
            
            CAmount nTxFee = nDebit - wtx.tx->GetValueOut();
            for (unsigned int nOut = 0; nOut < wtx.tx->vout.size(); nOut++)
            {
                const CTxOut& txout = wtx.tx->vout[nOut];
                TransactionRecord sub(hash, nTime);
                sub.idx = nOut;
                sub.involvesWatchAddress = involvesWatchAddress;
                if(wtx.txout_is_mine[nOut])