Add Declaration, and modify BuiltinType and Type

	Added Declaration class and its instance to Parser. Parser needs to
	just delegate declaration related stuff to Declaration.

	BuiltinType is now a template for builtin types.

	TypeEnum now contains values for all the builtin types as well so
	that simple call to getType() is enough to distinguish types.