invoice: refactor parsing tagged fields
invoice: refactor parsing tagged fields

This commit refactors parsing each of the tagged fields of an invoice
into their own method. This makes the code easier to read and will allow
us to introduce unit tests for each parsing method.

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