[3 XMR] API Interface
While working on a [GUI](http://github.com/UnstoppableSwap/unstoppableswap-gui) to make the usage of the `CLI` easier, I've discovered a few things that are making developing tools on top of this project much harder that it needs to be. While they should have been obvious from the beginning, I initially thought they could be worked around. Namely:
- There is no easy way to extract information about swaps to display to the user. Not all Information is available in one place. Some is only present in the internal database (which can be read using JSON). Some needs to extracted from logs because it's not saved anywhere (for example TXids or present confirmation status of transactions).
- Having to spawn a whole process to get a single piece of information (for example internal balance of Bitcoin wallet) is too expensive and cumbersome.
- Relying on logs and the internal database is not safe. Log messages are often changed and not consistent across `CLI` versions. The internal representation of data structures in the database is not consistent either. (See https://github.com/comit-network/xmr-btc-swap/issues/1184)

My proposed solution is quite obvious: We need some sort of API that GUIs and other software can call to interact with the `CLI`. The [monero-wallet-rpc](https://monerodocs.org/interacting/monero-wallet-rpc-reference/) can be seen at as inspiration. I suggest that we add a new command `start-daemon` that launches the `CLI` in non interactive mode and spawns a JSON-RPC server that listens for incoming connections. One can then send HTTP requests to let's say `localhost:1234/json_rpc` with a body like `{"jsonrpc":"2.0","id":"0","method":"get_bitcoin_balance"}` and the daemon will respond with a JSON response like 

```
{
  "id": "0",
  "jsonrpc": "2.0",
  "result": {
    "balance": 1574433,
  }
}
```

The API should allow developers to do the following things programmatically:
- Initiate a new swap
- Resume a swap
- Retrieve Bitcoin wallet balance
- Withdraw all Bitcoin to external wallet
- Get list of all swaps with relevant information (amounts, fees, dates, state of completion)
- Connect to rendezvous point to discover swap providers
- Get status of currently running swap


I'll award 3 XMR to the person who manages to implement and merge this. I'm also willing to accept partial solutions for a part of the bounty (e.g not all endpoints implemented yet).