Added isNil to check if a variant_t contains NIL
Added bool_t as both a Scheme type and C type
Allocate temporary VM registers as conses

Instead of allocating the VM's registers for temporary data as variants,
they are now allocated as conses, so that opcodes that operate on these
registers can have a stronger resemblence to the core Lisp functions
that operate on these units of memory. The implementations of the
currently defined opcodes have been rewritten to take both the car and
cdr of a cell into consideration when manipulating the data contained in
them.
Added function prototypes for CAR, CDR, CONS

CAR, CDR, and CONS will be opcodes for the virtual machine as well.
Fixed copy/paste typo.
Added basic CAR opcode implementation

Currently doesn't check if the source register forms a list or not. Also
doesn't check if the register contains anything meaningful, it just
blindly copies whatever is in the address part of the register. This
should probably be cleaned up later to perform sanity checks.
Added basic CDR opcode implementation

Currently doesn't check if the source register forms a list or not. Also
might not handle references to other cells properly. If the cdr of a
cell points to another cell, the destination register should probably
dereference cell being pointed to, and set the car and cdr of the
destination register to the car and cdr of the cell being pointed to.
This way the destination cell can be read identcially to what the source
register's cdr was pointing to, if it was pointing to another cell.
Added basic CONS implementation

Currently the implementation of CONS just makes the destination cell
refer to the two source registers. In the future there will probably
need to be distinctions made between lists and atoms so that atoms being
consed into a list can be dereferenced instead of just pointing to the
original atom (which would currently be interpreted as a nested list).
Removed erroneous extra argument to setNil

The extra argument was the result of a copy paste error.
Enforce the first C standard

To ensure extensive compatibility among machines that have a C compiler,
the first C standard will be strictly enforced.
Replace one line comments with block comments

One line comments are not defined in the original C standard, so
instances of them must be replaced with block comments.
Don't mix declarations and code

The assignment statement was moved after the final variable declaration
for the main block.
Replace empty initializer braces with memset

ISO C forbids empty initializer braces.