Improve Stats.Sub()

Few tweaks to Stats.Sub() to make it more usable.
* Return the receiver stats fields that aren't subtracted (rather than zeros)
* Subtract TxN
* Guard against nil pointers

@benbjohnson 

/cc @snormore @charlescng 
Is this better?