kernel: Add new class builder

2014-05-06  Gwenael Casaccio  <gwenael.casaccio@gmail.com>

	* kernel/UndefObject.st: Add class polymorphism.
	* kernel/Maybe/Just.st: Just pattern.
	* kernel/Maybe/Nothing.st: Nothing pattern.
	* kernel/ClassBuilder/BehaviorInitializer.st: Initialize behavior.
	* kernel/ClassBuilder/ClassBuilder.st: Build class.
	* kernel/ClassBuilder/ClassInitializer.st: Initialize class.
	* kernel/ClassBuilder/InstVarNamesChecker.st: Check variable names.
	* kernel/ClassBuilder/InstanceSpecification.st: Calculate the instance specification.
	* kernel/ClassBuilder/ShapeNameChecker.st: Check shape name.
	* kernel/ClassBuilder/ShapeNames.st: List of shape names.
	* kernel/ClassBuilder/ShapeResolver.st: Resolv shape index.
	* kernel/ClassBuilder/ValidateIdentifier.st: Validate identifier name.

2014-05-06  Gwenael Casaccio  <gwenael.casaccio@gmail.com>

	* files.c: Add new files.

2014-05-06  Gwenael Casaccio  <gwenael.casaccio@gmail.com>

	* DebugTools.st: Migrate to the kernel Maybe implemation.
	* maybe/Maybe.st: Use kernel implementation and remove this.
	* maybe/Just.st: Use kernel implementation and remove this.
	* maybe/Nothing.st: Use kernel implementation and remove this.

2014-05-06  Gwenael Casaccio <gwenael.casaccio@gmail.com>

	* kernel/ObjectTests.st: Migrate to class builder pattern.