日本語のを含む文字列の変換ミスを修正

常にUTF-8でエンコードするように修正
Gaucheオブジェクト識別関数を追加・整理。
GoshクラスのTypeCheckの引数の型を変更
引数としてGoshObjを受け付ける.NETの関数をclr-call出来ない不具合修正
GaucheのVMオブジェクトを扱うための関数とラップオブジェクトを追加
全てのオブジェクトに対してdisplay/writeした結果の文字列を返す関数追加
Cast.Specifyしたときに不明な型だった場合に例外を投げずに特別なオブジェクトを返すように修正
Goshクラスに連想リストに対する操作関数を実装
UVectorの扱いを整理。

Castに正しく.NETのオブジェクト化とGaucheラッパーオブジェクト化できるよう修正。
Eval拡張メソッドのオーバーロード追加。
Scm_RegisterFinalizerのラッパー追加と、Scm_MakeSubrの不具合修正

Scm_MakeSubrに渡したDelegateオブジェクトがGauche側で使用中にもかかわらずGCされてしまう不具合修正。
Gaucheのreadに対応する関数のラッパー関数追加
Gaucheのload関数とopen-input-string関数に対応するラッパー関数追加
GoshNILクラスをIEnumerable化

GoshPairもIEnumerableのため、IsListがtrueになる場合、必ずIEnumerableとしてforeachで使用できる。
.NETレベルのThreadクラスで別スレッドを立てた場合、BoehmGCで例外が発生するため対応。

**Example**
Thread t = new Thread(Gosh.ThreadRunner);
//thread_runnerが本来、Threadコンストラクタに渡されるはずのスレッド処理の本体。
t.Start((ThreadStart)thread_runner);
<clr-object>に対してwriteを実行した時、可能な限りGaucheでread可能な外部表現に変換するように機能を修正。
GoshObjのToStringがGaucheのwrite-to-stringの結果を返すように修正

ToStringはサブクラスでのoverride不可にしているため、必ず外部表現が返るようになる。