binding symbol also carries over existing metadata
check for correct type of keys
add a Var class to contain symbol metadata, used to determine if something is a macro and later to see if Var is bound
initialize Var
work on creating Vars when using (def) and also adding a macro system