calcnode_expression() を calcnode.c へ移動
CalcNodeType のフォーマットを修正

該当しなかった場合の名称をCNT_NULLではなくCNT_EMPTYへ変更

戻り値の存在しない場合の名称としてCNT_BOTTOMを追加
calcnode_expression() を移動

やはりcalcnode_expression.c中で定義することにした。（元に戻した）

calcnode.cで定義する場合では、
本来は非公開関数で良いはずの関数まで公開にする必要があるので
もっと増えた場合に混乱の元になりそうな予感がしたので。

また、一つのファイル中でまとめた方が、処理の見通しも良い類の構造なので。
calcnode_function()を追加

副作用のみを目的とした関数では、戻り値を返さない場合が多いので困る。
（putcharやputpixelなどの類）
戻り値が存在しないことは、それはすなわち０とは異なるので、扱いにこまる。
Haskellではそれを_|_（ボトム）と解釈して扱っている。
それに習って同様に、戻り値の無い関数を扱う場合は、その結果のCalcNodeのtypeを
CNT_BOTTOMとしすることとした。

expression では、引数に非ボトムを期待しているので、CNT_BOTTOMであった場合には矛盾が生じる。
その場合のexpressionにおける条件分岐（おそらくエラー表示して終了だろう）はまだ実装していない。
忘れないようにメモ。