Generalize the remove-outputs check for fully-prunable transactions.

Instead of explicitly testing for the presence of any output, and
dealing with this case specially, just interpret it as an empty
CCoins.

The case previously caught using the HaveCoins check, is now handled
by the generic outs != outsBlock test.
Merge pull request #3163 from sipa/allunspendable

Generalize the remove-outputs check for fully-prunable transactions.