Introduce a ‘Linkable’ typeclass
Refactor (tidy up and document)

- Rename some ExchangeType API fields/functions
- All documentation moved to top level
- Remove custom monitors/links and introduce Linkable instances
- Hide Exchange implementation modules
- Juggle imports / definitions
- Remove some compiler warnings
Refactor Documentation/Links