機能を非同期化。設定保存周り強化。エラー処理見直し

1.GetCookiesAsync(), CreateInstanceAsync()を作成。
古い同期版は削除。

2.BrowserConfigのシリアル化まわりを強化した。
DataContract, XmlSerializer, ApplicationSettingsBase で使える。設定保存用を想定。

3.エラー処理の方針を変更
CookieImportExceptionはできるだけ外へ投げないようにした。読み込み対象の形式が変わる事は十分あり得る。そのため、読み込みエラーもライブラリの正常な出力として扱う。GetCookiesAsync()の戻り値で取得成功か失敗を判別する。GetCookiesAsync()はエラーの種類を判別できるように戻り値の表現力を向上させた。そのために新たにImportResultを定義した。

4.動作追跡用の要素を仕込んだ。
今までDebug.WriteLine()が使われていたが、異常チェックはDebug.Assert()、エラー処理や処理追跡周りはTrace.Failを使うようにした。