Allow removing handlers by name, topic and/or schema
Created by: matthew-d-jones
Closes #39 (closed) Closes #38 (closed)
Use full Channel object as update_handlers dictionary key instead of only the pv name. This allows multiple configurations for the same pv name, for example to serialise updates with different schemas or output to multiple topics (#38 (closed)). It also allows removing configurations matching any subset of pv name, output topic and schema (#39 (closed)). I also extracted config change handling to a separate file so that I could add unit tests.