Add psi_obj header & source

Objects (also called values) are represented by psi_obj. Essentially,
all objects boil down to either a procedure or a literal. A procedure
is an expression with formal arguments, but it is also an object, and
can be defined by a variable or returned from another procedure. A
literal is an immutable value such as "Hello, world!" or 29.