Implement exchange

**Description** Add more tests for `DefaultExchange`, fix bugs found by those tests and change a comment in `UserRole` to reflect a change in nomenclature in the wiki.
**Testing** Tests pass!
**Coverage** 89.79% for the `exchange` package