crude interactive mode is now functional.

I changed the default functionality when no input file
is specified. Now a prompt is printed and user input will be
executed when the scanner sees and EOF (Ctrl+D/Z). After executing
a snippet, control returns to the user to allow them to run
more code (interactively). One issue is that "Fatal Errors"
currently exit the program entirely. In interactive mode they should
probably get cleaned up and the session should continue.
added "labels as values" utilization to interpreter.

Other bytecode interpreted languages like Python and Ruby
use GCC's "labels as values" extension (computed gotos).
It can improve the speed of the interpreter by up to 20%.
I describe the changes in interpet.c and provide links to both
Python's notes and notes from Eli Bendersky on the subject.

I am currently using macros to allow the code to compile as
a switch/case loop with compilers that don't support the
computed goto.
first step in implementing a map type.

The map type shares many similarities with the list type.
This allows both types to share some syntax and vm instructions.
I've implemented the lexer/parser rules, the AST nodes and functions,
the instructions for making maps, as well as "get"/"set" of values
using keys.
The actual implementation (using symbol tables) is the next step.
Then I'll clean up stragglers like "printing" maps, and map-related
things in the AST graphiz/dot generator.
initial implementation of hash table for Map type.

The Map type's hash table uses open-addressing
(unlike the current symbol table). Still need to make
modifications to the interpreter to actually use this
implementation for MKMAP, CPUT, CGET, etc...

I also cleaned up a few warnings from '-Wall'.
Working Map type...

The entirety of the map type is defined in map.h/map.c, rather
than in object.h/object.c like the rest of the types.

Much works remains to be completed to get map iteration and
map printing working (and I'm sure many more things).

One outstanding issue is that of using map/list accesses as
function calls e.g. `m["key"]();` or `l[0](arg1, arg2);`.