加入完全未经测试的异常抛出代码

1. 在PRIM和RETURN指令的正常处理过程后，添加循环检测栈顶元素是否为带抛出
标记的异常并向上传递该异常的代码；
2. 增加一个lt_vector_top获取向量最后一个槽的对象；
3. 给RETADDR对象增加一个sp成员变量，存放编译后函数调用前的参数栈顶位置，以
便于在异常抛出时清理参数栈顶，使异常元素总是正确地作为返回值放置。
修改lt_div使其在除数为0时返回异常对象，测试异常抛出功能——测试通过。
增加一条CHECKEX指令，用于将来检查函数调用是否抛出异常。
将PRIM和RETURN指令中重复的代码抽取到CHECKEX指令的实现中
定义了defmacro宏，并用该宏重新定义define。
在README.md中补充关于添加新的原语函数的说明
使用getopt进行简单的命令行参数处理，提供脚本化功能。
在function结构体对象中增加signature成员变量，作为以后实现类型检查的基础。

增加了CHKTYPE指令，用于检查指定位置上的参数是否符合指定的类型谓词。
增加判断对象是否为指定类型的lt_is_kind函数并且Fix a bug

修正因为在gen中用make_op_chktype处理CHECKEX指令而导致的错误
对用户自定义的函数增加参数个数检查机制

对原语函数的实现有bug，因此代码被我去掉了。
纠正README.md中错误使用`'造成的排版问题
给原语函数增加运行时参数个数的检查机制

最好是尽可能地放在编译期进行检查
给ARGSD指令增加运行时参数个数的检查机制，细化ARGS中的检查。
修改DECL指令的编译过程，使其避免重复声明局部变量。
增加编译阶段对CHKTYPE指令的生成
Fix a bug并提供运行时类型检查的例子

is_type_satisfy中对析取型谓词的判断步骤出错
去掉声明函数签名时对read_object_from_string的调用
新增TYPE类型并定义一系列内置的类型对象
正确地定义并声明lt_types全局变量

我也不清楚为什么要这样写（摊手
Fix a bug并且修改lt_type_of的实现

纠正DEFTYPE中对.type的初始化的错误