Term: code cleanup

removed environment 'copy' function, enabled error catching.
Term: fixed an error

Commented type 'ccell' and removed all references to it in order to get back to
a stable status and compilable source code.
Bug fix: evaluation context visibility rules

Lookup rules fixed:
  - symbol -> look backward along the chain
  - explicit path -> look forward along the given path

Code cleanup: eval_c is removed from 'term.ml' since it is no longer called.
Code cleanup: env.ml

Commented functions that are not used.
Error catching: parser.mly

Updated symbol/path parsing to better catch unknown symbol errors.
Integration of 'eval' update

The toplevel module has been updated according to the new 'eval' function.
Rework: 'print' updated

the 'pp_cell' function has been updated in order to catch a single value
instead of a tuple.
Code optimization: 'apply' function

Reduced the number of functions called during the evaluation of an
'Application'. The procedure no longer uses 'pop_list'.
Code optimization: Subr

'eval' has been changed to a more linear form: symbol and path are matched
directly in 'eval' instead of being tested inside 'app_eval'.
Added a type_error function:

Term module is extended with a new function used to denote type errors.

Term and Subr are updated accordingly.
Performance improvement:

environment accessors, modifiers now make use of unsafe_set and unsafe_get
function.
Formal parameters compilation

formal parameters are compiled earlier in order to deal directly with their
environment index.
Eval improvement:

added apply0, apply1 and apply2 to get 'eval' performance improved.