サブコマンドを柔軟に扱うためのテーブルを作った

*subcommands*は連想リストで、キーにコマンド名(文字列)を、
値に対応する手続きをもつ。
プラグインなどで簡単にサブコマンドを作成できるようにする
ことが狙い。

新たに実装
aif     anaphoric if

get-subcommand  *subcommands*を用い、commandに対応する手続きを返す。

set-subcommand! *subcommands*に(command . procedure)を登録する。

alt-main        *subcommand*を使うmain
Merge pull request #2 from 1995hnagamin/feature/subcommands

Feature/subcommands
色々変えた
Revert "色々変えた"

This reverts commit f891631d262a780d0db1f66157dee56f5fbfbd87.
dateオブジェクトを利用
Merge remote-tracking branch 'origin/master' into feature/subcommands
mainの挿げ替え
get-promptの実装

*yaoy-config*の位置を変えた

新たに実装
get-prompt      標準入力から文字列を一行取って返す
get-pass        = get-prompt
                これは非常に良くないことです。
length>?        リストxの長さがkより大きければリストのk番目
                以降の要素からなるリストを返し、さもなければ
                #fを返す

let-with-list lst ((var default) ...) body ...
        各変数varについて、n番目(zero-indexed)が(not (length>? lst n))
        ならば(list-ref lst n)に、さもなければdefaultを評価
        した値に束縛されているようなローカルな環境を作成し、
        その中でbody ...を評価します。各varはシンボルでなく
        てはならず、重複があってはなりません。body ...の最後
        の式の値がこのフォームの値となります。
registerをlet-with-listで書き換えた
些細な変更
Merge branch 'feature/subcommands' into develop