funding: properly verify and apply channel constraints during funding flow
funding: properly verify and apply channel constraints during funding flow

This commit implements some missing functionality as we’ll now properly
validate and generate the various channel flow control constraints
during initial channel funding.

With this commit, we take an additional step towards full spec
compliance as we’ll now properly send over the required channel
reservation, max HTLC’s, and other parameters during the funding flow.

When processing the desired parameters by the remote party, if we think
they’re unreasonable, then we’ll send an Error message and end the
funding flow.

ddustin/lnd,aakselrod/lnd,aakselrod/lnd,ddustin/lnd,LightningNetwork/lnd,LightningNetwork/lnd