Some minor adaptions

	modified:   ocaml/signature.ml
	modified:   ocaml/typer.ml
Removed unneeded function 'pop_keep_assertions'

	modified:   ocaml/context.ml
	modified:   ocaml/context.mli
Example of a copyright and license note added

	modified:   ocaml/context.mli
Removed signature from 'Context.t'

The data has been redundant. All argument types are stored in the
'argtypes' array and redundantly in the signature. Therefore the
signature has been removed and only the result type is stored as
non redundant information.

	modified:   ocaml/context.ml
	modified:   ocaml/signature.ml
Merging formal generics and arguments

Instead of using a name array and a type array for formal arguments
and formal generics we want to use an array of pairs (name,type).

This change includes functions in class_table.ml which work with
array of pairs.

Furthermore the module 'Result_type' has been refactored from 'Sign'
to include the optional result type and information whether it is
a function of a procedure.

	modified:   ocaml/class_table.ml
	modified:   ocaml/class_table.mli
	modified:   ocaml/context.ml
	modified:   ocaml/context.mli
	modified:   ocaml/signature.ml
First version of a type concept checker implemented

The concept checker is very restricted. A type satisfies a concept
only if the type and the concept are identical.

However it allows already checking of some formal generics. Only
formal generics which satisfy the same concept can be substituted.

	modified:   ocaml/class_table.ml
	modified:   ocaml/class_table.mli
	modified:   ocaml/context.ml
	modified:   ocaml/context.mli
	modified:   ocaml/typer.ml
Added facilities to 'eiffelc.ml' to parse multiple sourcefiles

	modified:   ocaml/eiffelc.ml
Some minor details to make the restrictive concept checker work

- 'Context.t' stores the set of already analyzed modules
- No '*.ei' file shall be parsed for a module which is already in
- The 'typer.ml' must raise 'Not_Found' if the type concepts do not
  match

	modified:   ocaml/class_table.ml
	modified:   ocaml/context.ml
	modified:   ocaml/context.mli
	modified:   ocaml/eiffelc.ml
	modified:   ocaml/typer.ml
Changed argument sequence in 'Key_table'

Made the argument sequence in 'Key_table' consistent with the argument
sequence used in the ocaml standard libary. E.g. we use
'Key_table.index elem ktable' instead of 'Key_table.index ktable elem'.

	modified:   ocaml/class_table.ml
	modified:   ocaml/container.ml
	modified:   ocaml/support.ml
Introduced 'Map_table' as an alternative to 'Key_table'

'Key_table' is based on hash tables and 'Map_table' is based on balanced
trees of the ocaml standard library module 'Map'. The external interfaces
are the same

'Map_table' is used in 'Class_table'.

	modified:   ocaml/class_table.ml
	new file:   ocaml/map_table.ml
	new file:   ocaml/map_table.mli