設定ファイルのフォーマットを再度新しくした

WCFのDataContractSerializerを使った設定ファイルは知らないクラスの読み書きで失敗してしまうので、自前のXMLシリアライズを作って未知クラスのラウンドトリップも可能にした。
プラグイン実装方法を変更した

今まではPlugin属性をつけたクラスをプラグインとして扱い、実装するインターフェースに応じて読み込み側で適切な処理をしていたが、もっと単純で柔軟な形式に変更した。
具体的には従来のIUserInterfaceを同等のIPluginインターフェースに変更、これを全てのプラグインに適用するようにし、StartおよびStopメソッドを呼び出された時に実装側で適切な処理を行うようにした。
これ以降、プラグインクラスはPlugin属性をつけるとともにIPluginインターフェースを実装し、引数無しのコンストラクタを持つことが要求される。
プラグインバージョンの表示方法を変更した

IPluginに利用可能かを取得するメンバを追加したので、それも表示できるようにバージョン表示の方法を変更した。