lnwallet: keep commitments cold at all times, store sig instead
lnwallet: keep commitments cold at all times, store sig instead

This commit changes prior behavior which stored a “hot” commitment
transaction, meaning one which all the sigScript fully assembled and
able to be broadcast.

Instead, we now store the current signature for our commitment
transaction as a separate field within the database and within memory.
As a result, this eliminates a class of bugs which would erroneously
broadcast a fully loaded commitment transaction, either leading to a
loss of funds, or suspending availability to funds for a period of
time.

aakselrod/lnd,ddustin/lnd,AndrewSamokhvalov/lnd,ddustin/lnd,bryanvu/lnd,BitfuryLightning/lnd,BitfuryLightning/lnd,AndrewSamokhvalov/lnd,LightningNetwork/lnd,LightningNetwork/lnd,aakselrod/lnd,bryanvu/lnd