string functions
New refactored revo is there

Changes:
    * clarify the inheritance graph and class name
    * arity check for callable values(code)
    * parameter automatically assigning for primitive{procedure,macro}
    * helpers provided for the primitive proc/macro
    * mv SExpr#cons{,\!}
    * rewritten tail/head recursions in ruby code into iterative for
      efficiency's sake
    * name support for callable-object, for easy debugging
    * more adaptable NULL type support
    * new Context#store_mass
    * removed a lot of unnecessary things
    * new value#type_strig

New inheritance graph:

    - Value*
        - Data*
	    - SExpr(list)
	    - String
	    - Symbol
	    - Number
	    - Bool
 	- Code*
	    - Procedure*
	        - UserLambda
	        - PrimitiveProcedure
	    - Macro*
	        - UserMacro
		- PrimitiveMacro
	- Null

note: those affixed by asterisk are virtual classes