We create the preimage on incoming invoices. If it is an internal incoming payment (meaning from one user to another user) we use that preimage and save it on the outgoing invoice.
This makes sure we can give wallets the correct preimage for a payment request even though no lightning transaction happened
* remove cmd folder as we are going to have only one entrypoint
* get rid of pkg directory
* rename test -> integration_tests as unit tests should reside next to the actual files they are testing
* database migration WIP
* reinstate gorm boilerplate in the addinvoice for now to make it compile
* introduce migrations
* add Makefile
* don't use unsigned types for database mappings
* migrations work now
* add build target
* use echo groups
* gorm removed
* add envconfig
* fix comments