This PR includes the new beacon for more expressive querying.
[x] Change protocol to use a single swap address for all swaps. Every user effectively gets their own DEX address.
[x] Change protocol to use a specific beacon policy for every asset being offered. The asset name for the beacon specifies what asset is being asked for. This allows querying all swaps that are offering a specific asset (no matter what asset is being asked for) and also all swaps for a specific trading pair.
[x] Reorganize off-chain code to make testing compositions easier.
This PR includes the new beacon for more expressive querying.