Added standard arguments to `lib.amp.arguments`'s `__all__` as well as `Command`. Also cleaned up code.
Added `lib.station.manager` to hold the services that maintain the currently running roles. This is code migrated out of `station` which has been refactored.
Added utility functions and classes to `lib.commands`.

Added `ListenableConfiguredAMP` which optionally takes 2 handlers which will be called when `startReceivingBoxes` and `stopReceivingBoxes` are called.

Added `remove_responder` to allow objects to completely disconnect themselves. Whilst `de_register` prevents them being called, `remove_responder` prevents any new `register` calls from allowing them to be called again.
Changed `StationConfig` to include `blocked_roles` and the computer information now accessed using `property`.
Also created a `UpdateConfiguration` command and a service which responds to the requests.
Added `lib.exceptions`. It currently only contains exceptions for invalid configurations.
Removed `config` return from `RegisterStationCommand` as I am changing the way that the manager distributes configs to the station.
Added `isfile` helper to `lib.file_helper`.
Reworked `roles.__init__`.

Removed `RoleConfig` as all configs are passed around as `dict` and any role that needs a special configuration object can create their own class.

Changed `RoleFactory`:
 - Renamed `build` to `makeService` and it creates a new instance and configures it.
 - Created `build` to create a plain unconfigured instance of the `Role`. This is used by `makeService` to create a new instance.
 - Added a class variable to indicate the maximum number of instances that should be running.

Removed `SingletonRole` and `SingletonRoleFactory` and replaced it with an instance count defined in `RoleFactory`.

Changed `Role` to be a Service which means that implementers need to override `startService` and `stopService` for the setup and teardown code.
Realised I forgot a condition for `instances` where they are less than 1(allow any number of instances to run).
Figured out how to fix the 'old-style class' problem.
Update `roles.encode` to use the updated `RoleFactory` and `Role`.
Updated `station` to use `twistd` as it's runner. In the process migrated lots of the implementations into services.
Further cleaning up of `roles.*`
Added `README` to Conference Manager. This explains some of the details of how this is implemented. It's mainly for reference though.