Initial revision: a package definition file plus main code file plus readme.

Some code that was done on this Friday evening.
It consists of:
 - package definition
 - grammar definition
 - grammar abstraction
 - simple test harness
Adding .gitignore.

Ignoring Emacs backups and Allegro CL fasl files.
Saving changes.

There are possible drawbacks in read-lexem: it can't parse long-based lexems, that start with the (not (lexemp x)), and it is not "greedy" in terms of reading long-based lexem like "abcd" --> it will produce 4 lexems of char.
Parse function plus minor modifications.

 * Added declarations to functions.
 * Changed 'exp rule in grammar to help parse function.
 * Faked 'let-op rule.
 * Removed +lexems+ list due to its worthlessness.
 * Added 'product predicates to types and funcs of the grammar.
 * define-type and define-func made less leaky: they return the name of the object they operate on.
 * Added skipped-lexem-p predicate to check if the subject predicate must be skipped.
 * Fixed check-integer function: to be sure the whole value is parsed into integer and that the result is an integer.
 * Added package for interning variables of the expressions when parsing.
 * Added read-lexem-chars: for reading a succeding lexem and returning it as a list of characters.
 * Added lexem-divider-p predicate to test for the character to be a dividing lexem.
 * Fixing string-to-lexems: supporting strings among list lexems.
 * Added test for string-to-lexems.
 * Added parse-with-rule: the main parsing dispatcher.
 * Added parse-with-list-rule: a parser for the rule-value lists.
 * Added test for parse-with-exp-rule, which is a renaming function for testing purposes.
 * Updated test for the parse function.
Calculator passed the task example test.

 * Fixing typo in file "acros" --> "across".
 * Fixing error in 'let grammar rule definition.
 * Making define-type and define-func macros produce ``eval-when (:load-toplevel :execute)'' forms to fix a warning aboud toplevel EXPORT.
 * DEFINE-TYPE macro now intern and export the FUNC-NAME symbol in special package.
 * DEFINE-TYPE macro argument PRODUCT-PREDICATE renamed to PRODUCT-FUNCTION.
 * 'VAR rule CHECK-VALUE predicate moved to function CHECK-VAR-NAME.
 * Removed: *VARIABLES-ALIST*, BIND-VARIABLE, UNBIND-VARIABLE, SET-VARIABLE, GET-VARIABLE because of the idea with the producers of the grammar rules, which let use of the LISP evaluator and special operator LET.
 * PARSE function:
    - Added docs.
    - List of the rest of the lexems (the second value of the multiple values returned) is now converted to the string of the lexems joined with the whitespace.
 * Added abstraction function PARSE-LEXEMS.
 * PARSE-WITH-RULE function:
    - Added docs.
    - Lexem as-is production for the STRING type rules returned.
    - Added IDENTITY function choosing for absent 'PRODUCT-s of SYMBOL type rules.
    - Error message modified.
    - Added code calling 'PRODUCT functions for the SYMBOL type rules.
 * Added test for the PARSE function when parsing without 'PRODUCT-s for 'FUNC and 'LET rules.
 * Added SET-RULE-PRODUCT-FUNCTION function.
 * Added PRODUCE-FUNC-PRODUCT and PRODUCE-LET-PRODUCT functions with tests.
 * Updated test for the PARSE function when parsing *with* 'PRODUCT-s for 'FUNC and 'LET rules.
 * CALCULATOR function:
    - Updating docs.
    - Fixing the implementation using LISP eval (thanks to the idea with rules producers).
 * Reformatting CALCULATOR test to fit the overall tests style.
 * Exporting CALCULATOR and PARSE functions from the :interview.calculator package.
Added errors handling.

 * Three class of errors handling:
    - UI error: errors operated in the User Interface function CALCULATOR.
    - Parsing error: errors from the PARSE function.
    - Evaluating error: errors from the LISP EVAL function calling.
 * Defined condition CALCULATOR-PARSE-ERROR.
 * PARSE function signals of the CALCULATOR-PARSE-ERROR.
 * CALCULATOR function contents moved to the CALCULATOR-PARSE-EVAL function, which is not User Interface.
 * CALCULATOR User Interface function handles error conditions and returns result or error message to the caller.
 * Test for the CALCULATOR function have error checking cases.
Merge branch 'master' of ../interview.calculator
Merge description