The CoinGecko rate provider is similar to the bitcoin average one, in that you can ask it for a rate from its aggregated sourcing or you can get rates from specific exchanges. I've added support for both.
I haven't integrated it or replaced coinaverage just to see if we should use it as the default and switch everyone to it or what other action to take.
* BitcoinSpecificBtcPayNetwork - abstract BTCPayNetwork
* some type fixes
* fix tests
* simplify fetching handler in invoice controller
* rename network base and bitcoin classes
* abstract serializer to network level
* fix serializer when network not provided
* fix serializer when network not provided
* fix serializer when network not provided
* try fixes for isolating pull request